summaryrefslogtreecommitdiffabout
path: root/src/dictionary.c
Side-by-side diff
Diffstat (limited to 'src/dictionary.c') (more/less context) (show whitespace changes)
-rw-r--r--src/dictionary.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/dictionary.c b/src/dictionary.c
index b7baf05..2b995d4 100644
--- a/src/dictionary.c
+++ b/src/dictionary.c
@@ -50,4 +50,3 @@ dictionary_new (enum dictionary_id id, enum dictionary_type type)
{
- struct dictionary *mp = xmalloc (sizeof mp[0]);
- memset (mp, 0, sizeof mp[0]);
+ struct dictionary *mp = grecs_zalloc (sizeof mp[0]);
mp->id = id;
@@ -94,2 +93,4 @@ dictionary_close (struct dictionary *dict, void *handle)
struct dictionary_descr *mp = dictionary_tab + dict->type;
+ if (mp->free)
+ mp->free (dict, handle);
if (!mp->close)
@@ -188,3 +189,3 @@ dictionary_copy_result (struct dictionary *dict, const char *res, size_t size)
dict->result_size = size + 1;
- dict->result = x2realloc (dict->result, &dict->result_size);
+ dict->result = grecs_realloc (dict->result, dict->result_size);
}
@@ -208,3 +209,3 @@ dictionary_quote_string (struct dictionary *dict, void *handle,
{
- *poutput = xmalloc (1);
+ *poutput = grecs_malloc (1);
(*poutput)[0] = 0;
@@ -218,3 +219,3 @@ dictionary_quote_string (struct dictionary *dict, void *handle,
size = wordsplit_c_quoted_length (input, 0, &quote);
- output = xmalloc (size + 1);
+ output = grecs_malloc (size + 1);
wordsplit_c_quote_copy (output, input, 0);

Return to:

Send suggestions and report system problems to the System administrator.