|
@@ -547,6 +547,18 @@ extern void *malloc (size_t __size) __THROW __attribute_malloc__;
|
|
|
/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */
|
|
|
extern void *calloc (size_t __nmemb, size_t __size)
|
|
|
__THROW __attribute_malloc__;
|
|
|
+/* Cope with autoconf's broken AC_FUNC_MALLOC macro, which
|
|
|
+ * redefines malloc to rpl_malloc if it does not detect glibc
|
|
|
+ * style returning-a-valid-pointer-for-malloc(0) behavior. This
|
|
|
+ * calls malloc() as usual, but if N is zero, we allocate and
|
|
|
+ * return a 1-byte block instead.... sigh... */
|
|
|
+static inline char * rpl_malloc (size_t N)
|
|
|
+{
|
|
|
+ if (N == 0) {
|
|
|
+ N++;
|
|
|
+ }
|
|
|
+ return malloc (N);
|
|
|
+}
|
|
|
#endif
|
|
|
|
|
|
#ifndef __need_malloc_and_calloc
|