From 98c030960b7120f582e32835686e624d300702cd Mon Sep 17 00:00:00 2001 From: Martin Nilsson <nilsson@opera.com> Date: Wed, 3 Sep 2014 23:04:38 +0200 Subject: [PATCH] memchr is C89 and 4.3BSD --- src/configure.in | 1 - src/pike_memory.h | 2 +- src/port.c | 10 ---------- src/port.h | 7 ++----- src/stralloc.c | 2 +- 5 files changed, 4 insertions(+), 18 deletions(-) diff --git a/src/configure.in b/src/configure.in index 808440090b..1bfdc77c0f 100644 --- a/src/configure.in +++ b/src/configure.in @@ -4542,7 +4542,6 @@ AC_CHECK_FUNCS( \ strptime \ mallinfo \ mallopt \ - memchr \ mktime \ perror \ ptrace \ diff --git a/src/pike_memory.h b/src/pike_memory.h index 49f81d5993..98adb2c07e 100644 --- a/src/pike_memory.h +++ b/src/pike_memory.h @@ -197,7 +197,7 @@ extern int page_size; PMOD_EXPORT ptrdiff_t pcharp_memcmp(PCHARP a, PCHARP b, int sz) ATTRIBUTE((pure)); PMOD_EXPORT long pcharp_strlen(PCHARP a) ATTRIBUTE((pure)); -#define MEMCHR0 MEMCHR +#define MEMCHR0 memchr p_wchar1 *MEMCHR1(p_wchar1 *p, p_wchar2 c, ptrdiff_t e) ATTRIBUTE((pure)); p_wchar2 *MEMCHR2(p_wchar2 *p, p_wchar2 c, ptrdiff_t e) ATTRIBUTE((pure)); diff --git a/src/port.c b/src/port.c index a0274529d8..1c562db1d5 100644 --- a/src/port.c +++ b/src/port.c @@ -262,16 +262,6 @@ PMOD_EXPORT int STRCASECMP(const char *a,const char *b) } #endif -#ifndef HAVE_MEMCHR -PMOD_EXPORT void *MEMCHR(const void *p,char c,size_t e) -{ - const char *t = p; - while(e--) if(*(t++)==c) return t-1; - return (char *)NULL; -} -#endif - - #if !defined(HAVE_INDEX) && !defined(HAVE_STRCHR) PMOD_EXPORT char *STRCHR(char *s,int c) { diff --git a/src/port.h b/src/port.h index 2333dfa926..4c7fffea17 100644 --- a/src/port.h +++ b/src/port.h @@ -182,11 +182,8 @@ PMOD_EXPORT int STRCASECMP(const char *a,const char *b); #define HAVE_MEMCMP 1 #define MEMCMP(X,Y,Z) memcmp((X),(Y),(Z)) -#ifndef HAVE_MEMCHR -PMOD_EXPORT void *MEMCHR(const void *p,char c,size_t e); -#else -# define MEMCHR(X,Y,Z) ((void *)memchr(X,Y,Z)) -#endif +#define HAVE_MEMCHR 1 +#define MEMCHR(X,Y,Z) memchr(X,Y,Z) #ifndef HAVE_STRCHR PMOD_EXPORT char *STRCHR(char *s,int c); diff --git a/src/stralloc.c b/src/stralloc.c index 99de0b4194..d3d98b76e9 100644 --- a/src/stralloc.c +++ b/src/stralloc.c @@ -3223,7 +3223,7 @@ PMOD_EXPORT PCHARP MEMCHR_PCHARP(PCHARP ptr, int chr, ptrdiff_t len) { switch(ptr.shift) { - case 0: return MKPCHARP(MEMCHR(ptr.ptr,chr,len),0); + case 0: return MKPCHARP(memchr(ptr.ptr,chr,len),0); case 1: return MKPCHARP(MEMCHR1((p_wchar1 *)ptr.ptr,chr,len),1); case 2: return MKPCHARP(MEMCHR2((p_wchar2 *)ptr.ptr,chr,len),2); } -- GitLab