This file looks large and may slow your browser down if we attempt
to syntax highlight it, so we are showing it without any
pretty colors.
Highlight
it anyway.
| 1 |
/** \file xmalloc.h -- Declarations for the fail-on-OOM string functions */ |
| 2 |
|
| 3 |
#ifndef XMALLOC_H |
| 4 |
#define XMALLOC_H |
| 5 |
|
| 6 |
#include "config.h" |
| 7 |
|
| 8 |
/* xmalloc.c */ |
| 9 |
#if defined(HAVE_VOIDPOINTER) |
| 10 |
#define XMALLOCTYPE void |
| 11 |
#else |
| 12 |
#define XMALLOCTYPE char |
| 13 |
#endif |
| 14 |
|
| 15 |
/** Allocate \a n characters of memory, abort program on failure. */ |
| 16 |
XMALLOCTYPE *xmalloc(size_t n); |
| 17 |
|
| 18 |
/** Reallocate \a n characters of memory, abort program on failure. */ |
| 19 |
XMALLOCTYPE *xrealloc(/*@null@*/ XMALLOCTYPE *, size_t n); |
| 20 |
|
| 21 |
/** Free memory at position \a p and set pointer \a p to NULL afterwards. */ |
| 22 |
#define xfree(p) { if (p) { free(p); } (p) = 0; } |
| 23 |
|
| 24 |
/** Duplicate string \a src to a newly malloc()d memory region and return its |
| 25 |
* pointer, abort program on failure. */ |
| 26 |
char *xstrdup(const char *src); |
| 27 |
|
| 28 |
/** Duplicate at most the first \a n characters from \a src to a newly |
| 29 |
* malloc()d memory region and NUL-terminate it, and return its pointer, abort |
| 30 |
* program on failure. The memory size is the lesser of either the string |
| 31 |
* length including NUL byte or n + 1. */ |
| 32 |
char *xstrndup(const char *src, size_t n); |
| 33 |
|
| 34 |
#endif |