X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/3563e36580c7dad68cd6d3f7eb82eef570fc0c76..02d7884df1f33c9c7dc3a14c4b1a5f520ebe090a:/mparena.c diff --git a/mparena.c b/mparena.c index 95f88d5..b9b1f84 100644 --- a/mparena.c +++ b/mparena.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: mparena.c,v 1.5 2000/06/17 11:35:48 mdw Exp $ + * $Id: mparena.c,v 1.6 2004/04/03 03:32:05 mdw Exp $ * * Allocation and freeing of MP buffers * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: mparena.c,v $ + * Revision 1.6 2004/04/03 03:32:05 mdw + * General robustification. + * * Revision 1.5 2000/06/17 11:35:48 mdw * Overhaul to use mLib's arena system underneath. * @@ -214,6 +217,8 @@ unsigned mparena_count(mparena *a) mpw *mpalloc(mparena *a, size_t sz) { mpw *v; + if (!sz) return (0); + a->n++; v = A_ALLOC(a->a, MPWS(sz)); if (!v) THROW(EXC_NOMEM); @@ -314,6 +319,8 @@ again: void mpfree(mparena *a, mpw *v) { + if (!v) return; + a->n--; A_FREE(a->a, v); }