77 lines
2.7 KiB
Diff
77 lines
2.7 KiB
Diff
diff --git a/lib/Makefile.in b/lib/Makefile.in
|
|
index a39102957..b3c7e6d28 100644
|
|
--- a/lib/Makefile.in
|
|
+++ b/lib/Makefile.in
|
|
@@ -3452,6 +3452,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
|
-e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \
|
|
-e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
|
|
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
|
|
+ -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
|
|
-e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
|
|
-e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
|
|
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
|
|
@@ -3948,6 +3949,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
|
|
sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \
|
|
-e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \
|
|
-e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \
|
|
+ -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \
|
|
-e 's|@''REPLACE_MBSINIT''@|$(REPLACE_MBSINIT)|g' \
|
|
-e 's|@''REPLACE_MBRTOWC''@|$(REPLACE_MBRTOWC)|g' \
|
|
-e 's|@''REPLACE_MBRLEN''@|$(REPLACE_MBRLEN)|g' \
|
|
diff --git a/lib/string.in.h b/lib/string.in.h
|
|
index fa2e40c25..8977153c8 100644
|
|
--- a/lib/string.in.h
|
|
+++ b/lib/string.in.h
|
|
@@ -47,9 +47,6 @@
|
|
/* NetBSD 5.0 mis-defines NULL. */
|
|
#include <stddef.h>
|
|
|
|
-/* Get free(). */
|
|
-#include <stdlib.h>
|
|
-
|
|
/* MirBSD defines mbslen as a macro. */
|
|
#if @GNULIB_MBSLEN@ && defined __MirBSD__
|
|
# include <wchar.h>
|
|
@@ -86,6 +83,13 @@
|
|
|
|
/* The definition of _GL_WARN_ON_USE is copied here. */
|
|
|
|
+/* Declare 'free' if needed for _GL_ATTRIBUTE_DEALLOC_FREE. */
|
|
+#if (@REPLACE_FREE@ && !defined free \
|
|
+ && !(defined __cplusplus && defined GNULIB_NAMESPACE))
|
|
+_GL_EXTERN_C void free (void *);
|
|
+# define free rpl_free
|
|
+#endif
|
|
+_GL_EXTERN_C void free (void *);
|
|
|
|
/* Clear a block of memory. The compiler will not delete a call to
|
|
this function, even if the block is dead after the call. */
|
|
diff --git a/lib/wchar.in.h b/lib/wchar.in.h
|
|
index be5d36c8d..acb9d4ea6 100644
|
|
--- a/lib/wchar.in.h
|
|
+++ b/lib/wchar.in.h
|
|
@@ -72,9 +72,6 @@
|
|
# include <stddef.h>
|
|
#endif
|
|
|
|
-/* Get free(). */
|
|
-#include <stdlib.h>
|
|
-
|
|
/* Include the original <wchar.h> if it exists.
|
|
Some builds of uClibc lack it. */
|
|
/* The include_next requires a split double-inclusion guard. */
|
|
@@ -149,6 +146,13 @@ typedef int rpl_mbstate_t;
|
|
# endif
|
|
#endif
|
|
|
|
+/* Declare 'free' if needed for _GL_ATTRIBUTE_DEALLOC_FREE. */
|
|
+#if (@REPLACE_FREE@ && !defined free \
|
|
+ && !(defined __cplusplus && defined GNULIB_NAMESPACE))
|
|
+_GL_EXTERN_C void free (void *);
|
|
+# define free rpl_free
|
|
+#endif
|
|
+_GL_EXTERN_C void free (void *);
|
|
|
|
/* Convert a single-byte character to a wide character. */
|
|
#if @GNULIB_BTOWC@
|