45
45
const gchar* dict_lang_tag = "en";
47
gchar** suggestions_get(const gchar *lemma)
47
GSList* suggestions_get(const gchar *lemma)
49
gchar **suggestions = NULL;
50
gchar **valid_suggestions = NULL;
51
size_t suggestions_count = 0, i = 0, valid_count = 0;
52
GSList *str_list = NULL, *temp_list = NULL;
49
GSList *suggestions_list = NULL;
54
51
// check if Enchant broker and English dictionary are initialized
55
52
if(enchant_broker && enchant_dict)
57
54
if(enchant_dict_check(enchant_dict, lemma, -1))
59
suggestions = enchant_dict_suggest(enchant_dict, lemma, -1, &suggestions_count);
56
size_t suggestions_count = 0;
57
gchar **suggestions = enchant_dict_suggest(enchant_dict, lemma, -1, &suggestions_count);
61
for(i = 0; i < suggestions_count; i++)
59
for(size_t i = 0; i < suggestions_count; i++)
63
61
if(wni_request_nyms(suggestions[i], NULL, (WNIRequestFlags) 0, FALSE))
65
str_list = g_slist_prepend(str_list, g_strdup(suggestions[i]));
63
suggestions_list = g_slist_append(suggestions_list, g_strdup(suggestions[i]));
72
valid_suggestions = g_new0(gchar*, valid_count + 1);
74
for(temp_list = str_list; temp_list; temp_list = g_slist_next(temp_list))
75
valid_suggestions[--valid_count] = (gchar*) temp_list->data;
77
g_slist_free(str_list);
81
68
enchant_dict_free_string_list(enchant_dict, suggestions);
85
return valid_suggestions;
72
return suggestions_list;