Mercurial > hg > octave-lyh > gnulib-hg
changeset 4820:559c5f9c9e45
Modify exclude.c to use new xalloc primitives, for simplicity.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Mon, 27 Oct 2003 08:41:23 +0000 |
parents | 9449e9d024f2 |
children | d18a19eb848a |
files | lib/ChangeLog lib/exclude.c |
diffstat | 2 files changed, 17 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,12 @@ +2003-10-27 Paul Eggert <eggert@twinsun.com> + + * exclude.c (new_exclude): Use xzalloc rather than xmalloc + to allocate the returned structure. Do not allocate a subarray, + as x2nrealloc will do that. + (add_exclude): Use x2nrealloc to reallocate ex->exclude, + instead of xnrealloc. + (add_exclude_file): Use x2realloc instead of malloc + xnrealloc. + 2003-10-26 Paul Eggert <eggert@twinsun.com> * xalloc.h (xalloc_oversized): New static inline function, for
--- a/lib/exclude.c +++ b/lib/exclude.c @@ -93,11 +93,7 @@ struct exclude * new_exclude (void) { - struct exclude *ex = xmalloc (sizeof *ex); - ex->exclude_count = 0; - ex->exclude_alloc = 60; - ex->exclude = xmalloc (ex->exclude_alloc * sizeof ex->exclude[0]); - return ex; + return xzalloc (sizeof *new_exclude ()); } /* Free the storage associated with an exclude list. */ @@ -188,12 +184,9 @@ { struct patopts *patopts; - if (ex->exclude_alloc <= ex->exclude_count) - { - ex->exclude = xnrealloc (ex->exclude, ex->exclude_alloc, - 2 * sizeof *ex->exclude); - ex->exclude_alloc *= 2; - } + if (ex->exclude_count == ex->exclude_alloc) + ex->exclude = x2nrealloc (ex->exclude, &ex->exclude_alloc, + sizeof *ex->exclude); patopts = &ex->exclude[ex->exclude_count++]; patopts->pattern = pattern; @@ -212,11 +205,11 @@ { bool use_stdin = filename[0] == '-' && !filename[1]; FILE *in; - char *buf; + char *buf = NULL; char *p; char const *pattern; char const *lim; - size_t buf_alloc = 1000; + size_t buf_alloc = 0; size_t buf_count = 0; int c; int e = 0; @@ -226,16 +219,11 @@ else if (! (in = fopen (filename, "r"))) return -1; - buf = xmalloc (buf_alloc); - while ((c = getc (in)) != EOF) { + if (buf_count == buf_alloc) + buf = x2realloc (buf, &buf_alloc); buf[buf_count++] = c; - if (buf_count == buf_alloc) - { - buf = xnrealloc (buf, buf_alloc, 2); - buf_alloc *= 2; - } } if (ferror (in))