summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorReuben Thomas <rrt@sc3d.org>2017-04-16 22:54:24 +0100
committerReuben Thomas <rrt@sc3d.org>2017-04-21 00:17:07 +0100
commit38f7f06e7ed8d1990f3fc76c40cf1e55875cfa3d (patch)
tree0a0cd4de87f16c42c57513ac3107bed3d7d42aaf /src
parentc10d696a84a65e2a0d5ac546b71ef36f991b0970 (diff)
downloadenchant-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.h4
-rw-r--r--src/lib.c13
-rw-r--r--src/pwl.c6
-rw-r--r--src/pwl.h1
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);
};
diff --git a/src/lib.c b/src/lib.c
index 3d7e7c3..0f51cab 100644
--- a/src/lib.c
+++ b/src/lib.c
@@ -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)
{
diff --git a/src/pwl.c b/src/pwl.c
index c88cfed..1846c7e 100644
--- a/src/pwl.c
+++ b/src/pwl.c
@@ -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 */
diff --git a/src/pwl.h b/src/pwl.h
index 2cbf047..17d435d 100644
--- a/src/pwl.h
+++ b/src/pwl.h
@@ -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
}