/* -*-c-*-
*
- * $Id: alloc.h,v 1.5 2000/06/17 10:35:51 mdw Exp $
+ * $Id: alloc.h,v 1.7 2004/04/08 01:36:11 mdw Exp $
*
* Memory allocation functions
*
* MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: alloc.h,v $
- * Revision 1.5 2000/06/17 10:35:51 mdw
- * Major overhaul for arena support.
- *
- * Revision 1.4 1999/12/10 23:42:04 mdw
- * Change header file guard names.
- *
- * Revision 1.3 1999/05/06 19:51:35 mdw
- * Reformatted the LGPL notice a little bit.
- *
- * Revision 1.2 1999/05/05 18:50:31 mdw
- * Change licensing conditions to LGPL.
- *
- * Revision 1.1.1.1 1998/06/17 23:44:42 mdw
- * Initial version of mLib
- *
- */
-
#ifndef MLIB_ALLOC_H
#define MLIB_ALLOC_H
* Arguments: @arena *a@ = pointer to underlying arena
* @void *p@ = pointer to a block of memory
* @size_t sz@ = new size desired for the block
+ * @size_t osz@ = size of the old block
*
* Returns: Pointer to the resized memory block (which is almost
* certainly not in the same place any more).
* exception @EXC_NOMEM@ is thrown.
*/
-extern void *x_realloc(arena */*a*/, void */*p*/, size_t /*sz*/);
+extern void *x_realloc(arena */*a*/, void */*p*/,
+ size_t /*sz*/, size_t /*osz*/);
/* --- @x_free@ --- *
*
*
* Arguments: @void *p@ = pointer to a block of memory
* @size_t sz@ = new size desired for the block
+ * @size_t osz@ = size of the old block
*
* Returns: Pointer to the resized memory block (which is almost
* certainly not in the same place any more).
* exception @EXC_NOMEM@ is thrown.
*/
-extern void *xrealloc(void */*p*/, size_t /*sz*/);
-#define xrealloc(p, sz) x_realloc(arena_global, (p), (sz))
+extern void *xrealloc(void */*p*/, size_t /*sz*/, size_t /*osz*/);
+#define xrealloc(p, sz, osz) x_realloc(arena_global, (p), (sz), (osz))
/* --- @xfree@ --- *
*