diff options
author | Reuben Thomas <rrt@sc3d.org> | 2017-04-16 22:54:24 +0100 |
---|---|---|
committer | Reuben Thomas <rrt@sc3d.org> | 2017-04-21 00:17:07 +0100 |
commit | 38f7f06e7ed8d1990f3fc76c40cf1e55875cfa3d (patch) | |
tree | 0a0cd4de87f16c42c57513ac3107bed3d7d42aaf /src | |
parent | c10d696a84a65e2a0d5ac546b71ef36f991b0970 (diff) | |
download | enchant-38f7f06e7ed8d1990f3fc76c40cf1e55875cfa3d.tar.gz |
Remove enchant provider free_string_list method
Assume a malloc-allocated char **.
Voikko used an internally-allocated char **, so copy it before passing it
back, as all the other providers have to.
In the process of fixing some tests, reactivate some disabled tests.
Diffstat (limited to 'src')
-rw-r--r-- | src/enchant-provider.h | 4 | ||||
-rw-r--r-- | src/lib.c | 13 | ||||
-rw-r--r-- | src/pwl.c | 6 | ||||
-rw-r--r-- | src/pwl.h | 1 |
4 files changed, 6 insertions, 18 deletions
diff --git a/src/enchant-provider.h b/src/enchant-provider.h index 3f5390a..300c08e 100644 --- a/src/enchant-provider.h +++ b/src/enchant-provider.h @@ -135,10 +135,6 @@ struct str_enchant_provider /* returns utf8*/ const char * (*describe) (struct str_enchant_provider * me); - /* frees string lists returned by list_dicts and dict->suggest */ - void (*free_string_list) (struct str_enchant_provider * me, - char **str_list); - char ** (*list_dicts) (struct str_enchant_provider * me, size_t * out_n_dicts); }; @@ -428,10 +428,9 @@ enchant_session_clear_error (EnchantSession * session) /********************************************************************************/ static void -enchant_provider_free_string_list (EnchantProvider * provider, char ** string_list) +enchant_free_string_list (char ** string_list) { - if (provider && provider->free_string_list) - (*provider->free_string_list) (provider, string_list); + g_strfreev (string_list); } void @@ -597,7 +596,7 @@ enchant_dict_suggest (EnchantDict * dict, const char *const word, if(dict_suggs) { suggsT = enchant_dict_get_good_suggestions(dict, dict_suggs, n_dict_suggs, &n_suggsT); - enchant_provider_free_string_list (session->provider, dict_suggs); + enchant_free_string_list (dict_suggs); dict_suggs = suggsT; n_dict_suggs = n_suggsT; } @@ -610,7 +609,7 @@ enchant_dict_suggest (EnchantDict * dict, const char *const word, if(pwl_suggs) { suggsT = enchant_dict_get_good_suggestions(dict, pwl_suggs, n_pwl_suggs, &n_suggsT); - enchant_pwl_free_string_list (session->personal, pwl_suggs); + enchant_free_string_list (pwl_suggs); pwl_suggs = suggsT; n_pwl_suggs = n_suggsT; } @@ -1413,7 +1412,7 @@ enchant_broker_list_dicts (EnchantBroker * broker, } } - enchant_provider_free_string_list (provider, dicts); + enchant_free_string_list (dicts); } } @@ -1483,7 +1482,7 @@ enchant_provider_dictionary_exists (EnchantProvider * provider, exists = 1; } - enchant_provider_free_string_list (provider, dicts); + enchant_free_string_list (dicts); } else if (provider->request_dict) { @@ -763,12 +763,6 @@ static void enchant_pwl_suggest_cb(char* match,EnchantTrieMatcher* matcher) } -void enchant_pwl_free_string_list(EnchantPWL *pwl _GL_UNUSED_PARAMETER, - char** string_list) -{ - g_strfreev(string_list); -} - static void enchant_trie_free(EnchantTrie* trie) { /* Don't try to free NULL or the EOSTrie pointer */ @@ -49,7 +49,6 @@ int enchant_pwl_check(EnchantPWL * me,const char *const word, size_t len); char** enchant_pwl_suggest(EnchantPWL *me, const char *const word, size_t len, char ** suggs, size_t* out_n_suggs); void enchant_pwl_free(EnchantPWL* me); -void enchant_pwl_free_string_list(EnchantPWL* me, char** string_list); #ifdef __cplusplus } |