"Fossies" - the Fresh Open Source Software Archive

Member "neon-0.31.2/doc/html/refalloc.html" (20 Jun 2020, 4988 Bytes) of package /linux/www/neon-0.31.2.tar.gz:

Caution: In this restricted "Fossies" environment the current HTML page may not be correctly presentated and may have some non-functional links. You can here alternatively try to browse the pure source code or just view or download the uninterpreted raw source code. If the rendering is insufficient you may try to find and view the page on the project site itself.


ne_malloc, ne_calloc, ne_realloc, ne_strdup, ne_strndup, ne_oom_callback — memory allocation wrappers


#include <ne_alloc.h>
void *ne_malloc(size_t size);
void *ne_calloc(size_t size);
void *ne_realloc(void *size,
 size_t len);
char *ne_strdup(const char *s);
char *ne_strndup(const char *s,
 size_t size);
void ne_oom_callback(void (*callback)(void));


The functions ne_malloc, ne_calloc, ne_realloc, ne_strdup and ne_strdnup provide wrappers for the equivalent functions in the standard C library. The wrappers provide the extra guarantee that if the C library equivalent returns NULL when no memory is available, an optional callback will be called, and the library will then call abort().

ne_oom_callback registers a callback which will be invoked if an out of memory error is detected.


If the operating system uses optimistic memory allocation, the C library memory allocation routines will not return NULL, so it is not possible to gracefully handle memory allocation failures.