XAlloc.h 782 Bytes
Newer Older
Hisham's avatar
Hisham committed
1
2
3
4
5
6
7
8
9
/* Do not edit this file. It was automatically generated. */

#ifndef HEADER_XAlloc
#define HEADER_XAlloc

#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif

10
#include <assert.h>
Hisham's avatar
Hisham committed
11
12
13
14
15
16
17
18
#include <stdlib.h>

void* xMalloc(size_t size);

void* xCalloc(size_t nmemb, size_t size);

void* xRealloc(void* ptr, size_t size);

19
20
21
22
23
24
25
26
#undef xStrdup
#undef xStrdup_
#ifdef NDEBUG
# define xStrdup_ xStrdup
#else
# define xStrdup(str_) (assert(str_), xStrdup_(str_))
#endif

27
28
29
30
31
#ifndef __has_attribute // Clang's macro
# define __has_attribute(x) 0
#endif
#if (__has_attribute(nonnull) || \
    ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)))
32
char* xStrdup_(const char* str) __attribute__((nonnull));
33
#endif // __has_attribute(nonnull) || GNU C 3.3 or later
34
35

char* xStrdup_(const char* str);
Hisham's avatar
Hisham committed
36
37

#endif