diff options
author | Daniel Lange <DLange@git.local> | 2016-04-11 13:01:08 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2016-04-11 13:01:08 +0200 |
commit | 0063095c92e95190a0376ad245509345e5b690ed (patch) | |
tree | 0b8b7f9aac6410df323a3953423e7a1bdd121e1b /XAlloc.c | |
parent | 43997d37137cc1e4a1a5be654aa16d4992045e34 (diff) | |
parent | ff9409b1737627857eb47f64f536a3f66b6a09a4 (diff) | |
download | debian_htop-0063095c92e95190a0376ad245509345e5b690ed.tar.gz debian_htop-0063095c92e95190a0376ad245509345e5b690ed.tar.bz2 debian_htop-0063095c92e95190a0376ad245509345e5b690ed.zip |
Merge tag 'upstream/2.0.0'
Upstream version 2.0.0
Diffstat (limited to 'XAlloc.c')
-rw-r--r-- | XAlloc.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/XAlloc.c b/XAlloc.c new file mode 100644 index 0000000..cc29021 --- /dev/null +++ b/XAlloc.c @@ -0,0 +1,52 @@ + +#include "XAlloc.h" +#include "RichString.h" + +#ifndef _GNU_SOURCE +#define _GNU_SOURCE +#endif +#include <err.h> +#include <stdlib.h> +#include <string.h> + +/*{ +#include <stdlib.h> +}*/ + +static inline void fail() { + curs_set(1); + endwin(); + err(1, NULL); +} + +void* xMalloc(size_t size) { + void* data = malloc(size); + if (!data && size > 0) { + fail(); + } + return data; +} + +void* xCalloc(size_t nmemb, size_t size) { + void* data = calloc(nmemb, size); + if (!data) { + fail(); + } + return data; +} + +void* xRealloc(void* ptr, size_t size) { + void* data = realloc(ptr, size); + if (!data && size > 0) { + fail(); + } + return data; +} + +char* xStrdup(const char* str) { + char* data = strdup(str); + if (!data && str) { + fail(); + } + return data; +} |