about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/generic/memrchr.c14
2 files changed, 17 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 3057fe7711..2646132fee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2000-10-23  Jim Meyering  <meyering@ascend.com>
+
+	Allow this code to be used outside of glibc.
+	* sysdeps/generic/memrchr.c: Undef __memrchr, too.
+	[!weak_alias]: Define __memrchr to memrchr.
+	Guard weak_alias use with `#ifdef weak_alias'.
+
 2000-10-23  Ulrich Drepper  <drepper@redhat.com>
 
 	* elf/unload.c: Generate more debugging output.
diff --git a/sysdeps/generic/memrchr.c b/sysdeps/generic/memrchr.c
index 0dc1007127..6fa918d26e 100644
--- a/sysdeps/generic/memrchr.c
+++ b/sysdeps/generic/memrchr.c
@@ -24,24 +24,24 @@
 #include <stdlib.h>
 
 #ifdef HAVE_CONFIG_H
-#include <config.h>
+# include <config.h>
 #endif
 
 #undef __ptr_t
-#if defined (__cplusplus) || (defined (__STDC__) && __STDC__)
+#if defined __cplusplus || (defined __STDC__ && __STDC__)
 # define __ptr_t void *
 #else /* Not C++ or ANSI C.  */
 # define __ptr_t char *
 #endif /* C++ or ANSI C.  */
 
-#if defined (_LIBC)
+#if defined _LIBC
 # include <string.h>
 # include <memcopy.h>
 #else
 # define reg_char char
 #endif
 
-#if defined (HAVE_LIMITS_H) || defined (_LIBC)
+#if defined HAVE_LIMITS_H || defined _LIBC
 # include <limits.h>
 #endif
 
@@ -53,8 +53,12 @@
 
 #include <sys/types.h>
 
+#undef __memrchr
 #undef memrchr
 
+#ifndef weak_alias
+# define __memrchr memrchr
+#endif
 
 /* Search no more than N bytes of S for C.  */
 __ptr_t
@@ -200,4 +204,6 @@ __memrchr (s, c_in, n)
 
   return 0;
 }
+#ifdef weak_alias
 weak_alias (__memrchr, memrchr)
+#endif