diff options
author | Daniel Lange <DLange@git.local> | 2016-07-25 18:25:29 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2016-07-25 18:25:29 +0200 |
commit | aed86a83b9120528c2a2a5c137d443917682d4b4 (patch) | |
tree | 979855616d56f2864dedc7b88798e9831614e9ee /XAlloc.h | |
parent | 6ca259100661aa0be46c8645773d32a8a6a5f312 (diff) | |
parent | 31b71b67011fa52f091df6fe536a11d6d0bfb256 (diff) | |
download | debian_htop-aed86a83b9120528c2a2a5c137d443917682d4b4.tar.gz debian_htop-aed86a83b9120528c2a2a5c137d443917682d4b4.tar.bz2 debian_htop-aed86a83b9120528c2a2a5c137d443917682d4b4.zip |
Merge tag 'upstream/2.0.2'
Upstream version 2.0.2
Diffstat (limited to 'XAlloc.h')
-rw-r--r-- | XAlloc.h | 19 |
1 files changed, 18 insertions, 1 deletions
@@ -7,6 +7,7 @@ #define _GNU_SOURCE #endif +#include <assert.h> #include <stdlib.h> void* xMalloc(size_t size); @@ -15,6 +16,22 @@ void* xCalloc(size_t nmemb, size_t size); void* xRealloc(void* ptr, size_t size); -char* xStrdup(const char* str); +#undef xStrdup +#undef xStrdup_ +#ifdef NDEBUG +# define xStrdup_ xStrdup +#else +# define xStrdup(str_) (assert(str_), xStrdup_(str_)) +#endif + +#ifndef __has_attribute // Clang's macro +# define __has_attribute(x) 0 +#endif +#if (__has_attribute(nonnull) || \ + ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3))) +char* xStrdup_(const char* str) __attribute__((nonnull)); +#endif // __has_attribute(nonnull) || GNU C 3.3 or later + +char* xStrdup_(const char* str); #endif |