htop/XAlloc.h

39 lines
671 B
C
Raw Normal View History

2016-01-31 11:01:48 +00:00
#ifndef HEADER_XAlloc
#define HEADER_XAlloc
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
2020-09-08 12:28:15 +00:00
#include "Macros.h"
#include <err.h>
#include <assert.h>
2016-01-31 11:01:48 +00:00
#include <stdlib.h>
2020-09-08 12:28:15 +00:00
void fail(void) ATTR_NORETURN;
void* xMalloc(size_t size);
2016-01-31 11:01:48 +00:00
void* xCalloc(size_t nmemb, size_t size);
2016-01-31 11:01:48 +00:00
void* xRealloc(void* ptr, size_t size);
2016-01-31 11:01:48 +00:00
ATTR_FORMAT(printf, 2, 3)
int xAsprintf(char **strp, const char* fmt, ...);
ATTR_FORMAT(printf, 3, 4)
int xSnprintf(char *buf, int len, const char* fmt, ...);
#undef xStrdup
#undef xStrdup_
#ifdef NDEBUG
# define xStrdup_ xStrdup
#else
# define xStrdup(str_) (assert(str_), xStrdup_(str_))
#endif
char* xStrdup_(const char* str) ATTR_NONNULL;
2016-01-31 11:01:48 +00:00
#endif