aboutsummaryrefslogtreecommitdiffstats
path: root/XAlloc.h
diff options
context:
space:
mode:
authorDaniel Lange <DLange@git.local>2016-07-25 18:25:29 +0200
committerDaniel Lange <DLange@git.local>2016-07-25 18:25:29 +0200
commitaed86a83b9120528c2a2a5c137d443917682d4b4 (patch)
tree979855616d56f2864dedc7b88798e9831614e9ee /XAlloc.h
parent6ca259100661aa0be46c8645773d32a8a6a5f312 (diff)
parent31b71b67011fa52f091df6fe536a11d6d0bfb256 (diff)
downloaddebian_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.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/XAlloc.h b/XAlloc.h
index 3cc060d..eaebb08 100644
--- a/XAlloc.h
+++ b/XAlloc.h
@@ -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

© 2014-2024 Faster IT GmbH | imprint | privacy policy