diff options
Diffstat (limited to 'src/txtacc.c')
-rw-r--r-- | src/txtacc.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/txtacc.c b/src/txtacc.c index 91659f6..442e27e 100644 --- a/src/txtacc.c +++ b/src/txtacc.c @@ -36,4 +36,4 @@ txtacc_alloc_entry (struct grecs_list *list, size_t size) { - struct txtacc_entry *p = xmalloc (sizeof (*p)); - p->buf = xmalloc (size); + struct txtacc_entry *p = grecs_malloc (sizeof (*p)); + p->buf = grecs_malloc (size); p->size = size; @@ -91,3 +91,3 @@ txtacc_create () { - struct txtacc *acc = xmalloc (sizeof (*acc)); + struct txtacc *acc = grecs_malloc (sizeof (*acc)); acc->cur = grecs_list_create (); @@ -139,2 +139,3 @@ txtacc_finish (struct txtacc *acc, int steal) txtacc_entry_tailor (txtent); + grecs_list_append (acc->mem, txtent); break; @@ -160,5 +161,6 @@ txtacc_finish (struct txtacc *acc, int steal) if (steal) + { + grecs_list_remove_tail (acc->mem); free (txtent); - else - grecs_list_append (acc->mem, txtent); + } return p; |