From 9e0e57c7d64492351f4a7ce1c01054d4d43a1bcc Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 5 Apr 2011 11:19:19 -0700 Subject: Merge changes from gnulib. --- lib/allocator.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'lib/allocator.h') diff --git a/lib/allocator.h b/lib/allocator.h index 54cc5ff66f0..4ac863b224c 100644 --- a/lib/allocator.h +++ b/lib/allocator.h @@ -21,8 +21,15 @@ #include +/* An object describing a memory allocator family. */ + struct allocator { + /* Do not use GCC attributes such as __attribute__ ((malloc)) with + the function types pointed at by these members, because these + attributes do not work with pointers to functions. See + . */ + /* Call MALLOC to allocate memory, like 'malloc'. On failure MALLOC should return NULL, though not necessarily set errno. When given a zero size it may return NULL even if successful. */ @@ -37,8 +44,9 @@ struct allocator /* Call FREE to free memory, like 'free'. */ void (*free) (void *); - /* If nonnull, call DIE if MALLOC or REALLOC fails. DIE should - not return. */ + /* If nonnull, call DIE if MALLOC or REALLOC fails. DIE should not + return. DIE can be used by code that detects memory overflow + while calculating sizes to be passed to MALLOC or REALLOC. */ void (*die) (void); }; -- cgit v1.2.1