diff lib/memchr2.c @ 9995:901b50b38fae

Remove intprops dependency. * modules/memchr (Depends-on): Remove intprops. * modules/memrchr (Depends-on): Likewise. * modules/memchr2 (Depends-on): Likewise. * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check. * lib/memrchr.c (__memrchr): Likewise. * lib/memrchr2.c (memchr2): Likewise. Reported by Simon Josefsson. Signed-off-by: Eric Blake <ebb9@byu.net>
author Eric Blake <ebb9@byu.net>
date Mon, 28 Apr 2008 10:24:14 -0600
parents 17bfa9870663
children e8d2c6fc33ad
line wrap: on
line diff
--- a/lib/memchr2.c
+++ b/lib/memchr2.c
@@ -29,8 +29,6 @@
 #include <stdint.h>
 #include <string.h>
 
-#include "intprops.h"
-
 /* Return the first address of either C1 or C2 (treated as unsigned
    char) that occurs within N bytes of the memory region S.  If
    neither byte appears, return NULL.  */
@@ -42,7 +40,7 @@
      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;
@@ -80,7 +78,7 @@
   repeated_c2 = c2 | (c2 << 8);
   repeated_c1 |= repeated_c1 << 16;
   repeated_c2 |= repeated_c2 << 16;
-  if (0xffffffffU < TYPE_MAXIMUM (longword))
+  if (0xffffffffU < (longword) -1)
     {
       repeated_one |= repeated_one << 31 << 1;
       repeated_c1 |= repeated_c1 << 31 << 1;