X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fmemrchr.c;h=da93ca0ba52a2cd88ce0cf225a832ef14bf8c606;hb=33790590664b279853404bd753849b71a382ea0a;hp=f4467ac27a9fbab78b7fe2cab85886e720709a75;hpb=189c069657b361e15d8f1407b5eb410ddc2ee693;p=gnulib.git diff --git a/lib/memrchr.c b/lib/memrchr.c index f4467ac27..da93ca0ba 100644 --- a/lib/memrchr.c +++ b/lib/memrchr.c @@ -32,10 +32,10 @@ #include #include -#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;