+void HunspellChecker::stem(WordLangTuple const & wl,
+ docstring_list & suggestions)
+{
+ suggestions.clear();
+ Hunspell * h = d->speller(wl.lang());
+ if (!h)
+ return;
+ string const encoding = h->get_dic_encoding();
+ string const word_to_check = to_iconv_encoding(wl.word(), encoding);
+ char ** suggestion_list;
+ int const suggestion_number = h->stem(&suggestion_list, word_to_check.c_str());
+ if (suggestion_number <= 0)
+ return;
+ for (int i = 0; i != suggestion_number; ++i)
+ suggestions.push_back(from_iconv_encoding(suggestion_list[i], encoding));
+ h->free_list(&suggestion_list, suggestion_number);
+}
+
+