ne_malloc
Prev | neon API reference | Next

## Name

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

## Synopsis

    #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`)`;

## Description

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.

## Notes

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.

Prev | Up | Next
ne_iaddr_make | Home | ne_session_create