diff options
author | Jim Meyering <jim@meyering.net> | 2003-09-10 08:56:00 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2003-09-10 08:56:00 +0000 |
commit | 9d22c710ad8bc4f03ffaafc04d3a3c9156679d5c (patch) | |
tree | 30fac548b380d842a4ee703178538872c7cfb231 /lib | |
parent | 384a314210ef88c112cce48e2ade3df151f163c1 (diff) | |
download | coreutils-9d22c710ad8bc4f03ffaafc04d3a3c9156679d5c.tar.xz |
(__ptr_t): Remove; all uses changed to void *.
Include <string.h> unconditionally.
Include <limits.h> unconditionally.
(LONG_MAX): Remove.
(__memchr): Define via a prototype.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/memrchr.c | 49 |
1 files changed, 18 insertions, 31 deletions
diff --git a/lib/memrchr.c b/lib/memrchr.c index 9f29900f8..7d702f35e 100644 --- a/lib/memrchr.c +++ b/lib/memrchr.c @@ -1,5 +1,8 @@ /* memrchr -- find the last occurrence of a byte in a memory block - Copyright (C) 1991, 93, 96, 97, 99, 2000 Free Software Foundation, Inc. + + Copyright (C) 1991, 1993, 1996, 1997, 1999, 2000, 2003 Free + Software Foundation, Inc. + Based on strlen implementation by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se) and commentary by Jim Blandy (jimb@ai.mit.edu); @@ -25,31 +28,18 @@ #endif #include <stdlib.h> - -#undef __ptr_t -#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. */ +#include <string.h> #if defined (_LIBC) -# include <string.h> # include <memcopy.h> #else # define reg_char char #endif -#if defined (HAVE_LIMITS_H) || defined (_LIBC) -# include <limits.h> -#endif +#include <limits.h> #define LONG_MAX_32_BITS 2147483647 -#ifndef LONG_MAX -# define LONG_MAX LONG_MAX_32_BITS -#endif - #include <sys/types.h> #undef __memrchr @@ -60,11 +50,8 @@ #endif /* Search no more than N bytes of S for C. */ -__ptr_t -__memrchr (s, c_in, n) - const __ptr_t s; - int c_in; - size_t n; +void * +__memrchr (void const *s, int c_in, size_t n) { const unsigned char *char_ptr; const unsigned long int *longword_ptr; @@ -80,7 +67,7 @@ __memrchr (s, c_in, n) & (sizeof (longword) - 1)) != 0; --n) if (*--char_ptr == c) - return (__ptr_t) char_ptr; + return (void *) char_ptr; /* All these elucidatory comments refer to 4-byte longwords, but the theory applies equally well to 8-byte longwords. */ @@ -172,22 +159,22 @@ __memrchr (s, c_in, n) #if LONG_MAX > 2147483647 if (cp[7] == c) - return (__ptr_t) &cp[7]; + return (void *) &cp[7]; if (cp[6] == c) - return (__ptr_t) &cp[6]; + return (void *) &cp[6]; if (cp[5] == c) - return (__ptr_t) &cp[5]; + return (void *) &cp[5]; if (cp[4] == c) - return (__ptr_t) &cp[4]; + return (void *) &cp[4]; #endif if (cp[3] == c) - return (__ptr_t) &cp[3]; + return (void *) &cp[3]; if (cp[2] == c) - return (__ptr_t) &cp[2]; + return (void *) &cp[2]; if (cp[1] == c) - return (__ptr_t) &cp[1]; + return (void *) &cp[1]; if (cp[0] == c) - return (__ptr_t) cp; + return (void *) cp; } n -= sizeof (longword); @@ -198,7 +185,7 @@ __memrchr (s, c_in, n) while (n-- > 0) { if (*--char_ptr == c) - return (__ptr_t) char_ptr; + return (void *) char_ptr; } return 0; |