rename: fix another cygwin 1.5 bug
[gnulib.git] / lib / memrchr.c
index f4467ac..da93ca0 100644 (file)
 #include <string.h>
 #include <limits.h>
 
-#include "intprops.h"
-
 #undef __memrchr
-#undef memrchr
+#ifdef _LIBC
+# undef memrchr
+#endif
 
 #ifndef weak_alias
 # define __memrchr memrchr
@@ -50,7 +50,7 @@ __memrchr (void const *s, int c_in, size_t n)
      performance.  On 64-bit hardware, unsigned long is generally 64
      bits already.  Change this typedef to experiment with
      performance.  */
-  typedef unsigned long longword;
+  typedef unsigned long int longword;
 
   const unsigned char *char_ptr;
   const longword *longword_ptr;
@@ -79,7 +79,7 @@ __memrchr (void const *s, int c_in, size_t n)
   repeated_one = 0x01010101;
   repeated_c = c | (c << 8);
   repeated_c |= repeated_c << 16;
-  if (0xffffffffU < TYPE_MAXIMUM (longword))
+  if (0xffffffffU < (longword) -1)
     {
       repeated_one |= repeated_one << 31 << 1;
       repeated_c |= repeated_c << 31 << 1;