X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib/blobdiff_plain/20eb516fdebd2fb901e6a09ffa7e741cfb8e3a83..4f6d400bf0d6324faa343ea121f465017032d72b:/dstr.c?ds=sidebyside diff --git a/dstr.c b/dstr.c index d76ccf5..273c53a 100644 --- a/dstr.c +++ b/dstr.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: dstr.c,v 1.14 2000/06/17 10:37:39 mdw Exp $ + * $Id: dstr.c,v 1.15 2000/07/16 12:29:16 mdw Exp $ * * Handle dynamically growing strings * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: dstr.c,v $ + * Revision 1.15 2000/07/16 12:29:16 mdw + * Change to arena `realloc' interface, to fix a design bug. + * * Revision 1.14 2000/06/17 10:37:39 mdw * Add support for arena management. * @@ -159,7 +162,7 @@ void dstr_ensure(dstr *d, size_t sz) do nsz <<= 1; while (nsz < rq); if (d->buf) - d->buf = x_realloc(d->a, d->buf, nsz); + d->buf = x_realloc(d->a, d->buf, nsz, d->sz); else d->buf = x_alloc(d->a, nsz); d->sz = nsz; @@ -240,7 +243,7 @@ void dstr_putm(dstr *d, const void *p, size_t sz) { DPUTM(d, p, sz); } void dstr_tidy(dstr *d) { - d->buf = x_realloc(d->a, d->buf, d->len + 1); + d->buf = x_realloc(d->a, d->buf, d->len + 1, d->sz); d->buf[d->len] = 0; d->sz = d->len + 1; }