diff options
Diffstat (limited to 'src/txtacc.c')
-rw-r--r-- | src/txtacc.c | 124 |
1 files changed, 62 insertions, 62 deletions
diff --git a/src/txtacc.c b/src/txtacc.c index 5b9a197..c753f21 100644 --- a/src/txtacc.c +++ b/src/txtacc.c @@ -19,51 +19,51 @@ #endif #include <string.h> #include <stdlib.h> -#include "grecs.h" +#include "argot.h" -struct grecs_txtacc_entry +struct argot_txtacc_entry { char *buf; /* Text buffer */ size_t size; /* Buffer size */ size_t len; /* Actual number of bytes in buffer */ }; #define TXTACC_BUFSIZE 1024 -#define grecs_txtacc_entry_freesize(e) ((e)->size - (e)->len) +#define argot_txtacc_entry_freesize(e) ((e)->size - (e)->len) -struct grecs_txtacc +struct argot_txtacc { - struct grecs_list *cur; /* Current build list */ - struct grecs_list *mem; /* List of already allocated elements */ + struct argot_list *cur; /* Current build list */ + struct argot_list *mem; /* List of already allocated elements */ }; -static struct grecs_txtacc_entry * -grecs_txtacc_alloc_entry(struct grecs_list *list, size_t size) +static struct argot_txtacc_entry * +argot_txtacc_alloc_entry(struct argot_list *list, size_t size) { - struct grecs_txtacc_entry *p = grecs_malloc(sizeof (*p)); - p->buf = grecs_malloc(size); + struct argot_txtacc_entry *p = argot_malloc(sizeof (*p)); + p->buf = argot_malloc(size); p->size = size; p->len = 0; - grecs_list_append(list, p); + argot_list_append(list, p); return p; } -static struct grecs_txtacc_entry * -grecs_txtacc_cur_entry(struct grecs_txtacc *acc) +static struct argot_txtacc_entry * +argot_txtacc_cur_entry(struct argot_txtacc *acc) { - struct grecs_txtacc_entry *ent; + struct argot_txtacc_entry *ent; - if (grecs_list_size(acc->cur) == 0) - return grecs_txtacc_alloc_entry(acc->cur, - GRECS_TXTACC_BUFSIZE); + if (argot_list_size(acc->cur) == 0) + return argot_txtacc_alloc_entry(acc->cur, + ARGOT_TXTACC_BUFSIZE); ent = acc->cur->tail->data; - if (grecs_txtacc_entry_freesize(ent) == 0) - ent = grecs_txtacc_alloc_entry(acc->cur, - GRECS_TXTACC_BUFSIZE); + if (argot_txtacc_entry_freesize(ent) == 0) + ent = argot_txtacc_alloc_entry(acc->cur, + ARGOT_TXTACC_BUFSIZE); return ent; } static void -grecs_txtacc_entry_append(struct grecs_txtacc_entry *ent, +argot_txtacc_entry_append(struct argot_txtacc_entry *ent, const char *p, size_t size) { memcpy(ent->buf + ent->len, p, size); @@ -71,10 +71,10 @@ grecs_txtacc_entry_append(struct grecs_txtacc_entry *ent, } static void -grecs_txtacc_entry_tailor(struct grecs_txtacc_entry *ent) +argot_txtacc_entry_tailor(struct argot_txtacc_entry *ent) { if (ent->size > ent->len) { - char *p = grecs_realloc(ent->buf, ent->len); + char *p = argot_realloc(ent->buf, ent->len); if (!p) return; ent->buf = p; @@ -83,83 +83,83 @@ grecs_txtacc_entry_tailor(struct grecs_txtacc_entry *ent) } static void -grecs_txtacc_entry_free(void *p) +argot_txtacc_entry_free(void *p) { if (p) { - struct grecs_txtacc_entry *ent = p; + struct argot_txtacc_entry *ent = p; free(ent->buf); free(ent); } } -struct grecs_txtacc * -grecs_txtacc_create() +struct argot_txtacc * +argot_txtacc_create() { - struct grecs_txtacc *acc = grecs_malloc(sizeof (*acc)); - acc->cur = grecs_list_create(); - acc->cur->free_entry = grecs_txtacc_entry_free; - acc->mem = grecs_list_create(); - acc->mem->free_entry = grecs_txtacc_entry_free; + struct argot_txtacc *acc = argot_malloc(sizeof (*acc)); + acc->cur = argot_list_create(); + acc->cur->free_entry = argot_txtacc_entry_free; + acc->mem = argot_list_create(); + acc->mem->free_entry = argot_txtacc_entry_free; return acc; } void -grecs_txtacc_free(struct grecs_txtacc *acc) +argot_txtacc_free(struct argot_txtacc *acc) { if (acc) { - grecs_list_free(acc->cur); - grecs_list_free(acc->mem); + argot_list_free(acc->cur); + argot_list_free(acc->mem); free(acc); } } void -grecs_txtacc_grow(struct grecs_txtacc *acc, const char *buf, size_t size) +argot_txtacc_grow(struct argot_txtacc *acc, const char *buf, size_t size) { while (size) { - struct grecs_txtacc_entry *ent = grecs_txtacc_cur_entry(acc); - size_t rest = grecs_txtacc_entry_freesize(ent); + struct argot_txtacc_entry *ent = argot_txtacc_cur_entry(acc); + size_t rest = argot_txtacc_entry_freesize(ent); if (rest > size) rest = size; - grecs_txtacc_entry_append(ent, buf, rest); + argot_txtacc_entry_append(ent, buf, rest); buf += rest; size -= rest; } } void -grecs_txtacc_grow_string(struct grecs_txtacc *acc, const char *buf) +argot_txtacc_grow_string(struct argot_txtacc *acc, const char *buf) { - grecs_txtacc_grow(acc, buf, strlen(buf)); + argot_txtacc_grow(acc, buf, strlen(buf)); } void -grecs_txtacc_grow_string_escape(struct grecs_txtacc *acc, const char *buf) +argot_txtacc_grow_string_escape(struct argot_txtacc *acc, const char *buf) { for (; *buf; buf++) { if (strchr(" \t\n\"\'\\", *buf)) - grecs_txtacc_grow_char(acc, '\\'); - grecs_txtacc_grow_char(acc, *buf); + argot_txtacc_grow_char(acc, '\\'); + argot_txtacc_grow_char(acc, *buf); } } char * -grecs_txtacc_finish(struct grecs_txtacc *acc, int steal) +argot_txtacc_finish(struct argot_txtacc *acc, int steal) { - struct grecs_list_entry *ep; - struct grecs_txtacc_entry *txtent; + struct argot_list_entry *ep; + struct argot_txtacc_entry *txtent; size_t size; char *p; - switch (grecs_list_size(acc->cur)) { + switch (argot_list_size(acc->cur)) { case 0: return NULL; case 1: txtent = acc->cur->head->data; acc->cur->head->data = NULL; - grecs_txtacc_entry_tailor(txtent); - grecs_list_append(acc->mem, txtent); + argot_txtacc_entry_tailor(txtent); + argot_list_append(acc->mem, txtent); break; default: @@ -169,38 +169,38 @@ grecs_txtacc_finish(struct grecs_txtacc *acc, int steal) size += txtent->len; } - txtent = grecs_txtacc_alloc_entry(acc->mem, size); + txtent = argot_txtacc_alloc_entry(acc->mem, size); for (ep = acc->cur->head; ep; ep = ep->next) { - struct grecs_txtacc_entry *tp = ep->data; - grecs_txtacc_entry_append(txtent, tp->buf, tp->len); + struct argot_txtacc_entry *tp = ep->data; + argot_txtacc_entry_append(txtent, tp->buf, tp->len); } } - grecs_list_clear(acc->cur); + argot_list_clear(acc->cur); p = txtent->buf; if (steal) { - grecs_list_remove_tail(acc->mem); + argot_list_remove_tail(acc->mem); free(txtent); } return p; } void -grecs_txtacc_free_string(struct grecs_txtacc *acc, char *str) +argot_txtacc_free_string(struct argot_txtacc *acc, char *str) { - struct grecs_list_entry *ep; + struct argot_list_entry *ep; for (ep = acc->mem->head; ep; ep = ep->next) { - struct grecs_txtacc_entry *tp = ep->data; + struct argot_txtacc_entry *tp = ep->data; if (tp->buf == str) { - grecs_list_remove_entry(acc->mem, ep); - grecs_txtacc_entry_free(tp); + argot_list_remove_entry(acc->mem, ep); + argot_txtacc_entry_free(tp); return; } } } void -grecs_txtacc_clear(struct grecs_txtacc *acc) +argot_txtacc_clear(struct argot_txtacc *acc) { - grecs_list_clear(acc->cur); + argot_list_clear(acc->cur); } |