From 259d1f18be2e57a9ec6e768989571f6c8f82aed7 Mon Sep 17 00:00:00 2001 From: Fumitoshi UKAI Date: Fri, 7 Jun 2002 15:46:44 +0000 Subject: [w3m-dev 03207] strchr(), strcasecmp(), and strncasecmp() * etc.c (strchr): removed (strcasecmp): removed (strncasecmp): removed * indep.c (strchr): moved, cast (strcasecmp): moved, fix the case that s1 = "" (strncasecmp): moved, fix the case that s1 is shorter than s2 * indep.h (strchr): added (strcasecmp): added (strncasecmp): added From: Kiyokazu SUTO --- ChangeLog | 15 ++++++++++++++- etc.c | 50 +------------------------------------------------- indep.c | 46 +++++++++++++++++++++++++++++++++++++++++++++- indep.h | 9 ++++++++- 4 files changed, 68 insertions(+), 52 deletions(-) diff --git a/ChangeLog b/ChangeLog index e931a90..bf9999c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2002-06-08 Kiyokazu SUTO + + * [w3m-dev 03207] strchr(), strcasecmp(), and strncasecmp() + * etc.c (strchr): removed + (strcasecmp): removed + (strncasecmp): removed + * indep.c (strchr): moved, cast + (strcasecmp): moved, fix the case that s1 = "" + (strncasecmp): moved, fix the case that s1 is shorter than s2 + * indep.h (strchr): added + (strcasecmp): added + (strncasecmp): added + 2002-06-06 Fumitoshi UKAI * [w3m-dev 03206] Re: dict @@ -3469,4 +3482,4 @@ * release-0-2-1 * import w3m-0.2.1 -$Id: ChangeLog,v 1.385 2002/06/05 15:42:10 ukai Exp $ +$Id: ChangeLog,v 1.386 2002/06/07 15:46:44 ukai Exp $ diff --git a/etc.c b/etc.c index c2b83e4..7af9869 100644 --- a/etc.c +++ b/etc.c @@ -1,4 +1,4 @@ -/* $Id: etc.c,v 1.21 2002/03/07 16:10:22 ukai Exp $ */ +/* $Id: etc.c,v 1.22 2002/06/07 15:46:44 ukai Exp $ */ #include "fm.h" #include #include "myctype.h" @@ -25,54 +25,6 @@ #endif /* __WATT32__ */ -#ifndef HAVE_STRCHR -char * -strchr(char *s, char c) -{ - while (*s) { - if (*s == c) - return s; - s++; - } - return NULL; -} -#endif /* not HAVE_STRCHR */ - -#ifndef HAVE_STRCASECMP -int -strcasecmp(char *s1, char *s2) -{ - int x; - while (*s1) { - x = tolower(*s1) - tolower(*s2); - if (x != 0) - break; - s1++; - s2++; - } - if (x != 0) - return x; - return -tolower(*s2); -} - -int -strncasecmp(char *s1, char *s2, int n) -{ - int x; - while (*s1 && n) { - x = tolower(*s1) - tolower(*s2); - if (x != 0) - break; - s1++; - s2++; - n--; - } - if (x != 0) - return x; - return 0; -} -#endif /* not HAVE_STRCASECMP */ - int columnSkip(Buffer *buf, int offset) { diff --git a/indep.c b/indep.c index a0b2ee4..a535748 100644 --- a/indep.c +++ b/indep.c @@ -1,4 +1,4 @@ -/* $Id: indep.c,v 1.21 2001/12/26 17:57:57 ukai Exp $ */ +/* $Id: indep.c,v 1.22 2002/06/07 15:46:44 ukai Exp $ */ #include "fm.h" #include #include @@ -193,6 +193,50 @@ expandPath(char *name) return extpath->ptr; } +#ifndef HAVE_STRCHR +char * +strchr(const char *s, int c) +{ + while (*s) { + if ((unsigned char)*s == c) + return (char *)s; + s++; + } + return NULL; +} +#endif /* not HAVE_STRCHR */ + +#ifndef HAVE_STRCASECMP +int +strcasecmp(const char *s1, const char *s2) +{ + int x; + while (*s1) { + x = tolower(*s1) - tolower(*s2); + if (x != 0) + return x; + s1++; + s2++; + } + return -tolower(*s2); +} + +int +strncasecmp(const char *s1, const char *s2, size_t n) +{ + int x; + while (*s1 && n) { + x = tolower(*s1) - tolower(*s2); + if (x != 0) + return x; + s1++; + s2++; + n--; + } + return n ? -tolower(*s2) : 0; +} +#endif /* not HAVE_STRCASECMP */ + #ifndef HAVE_STRCASESTR /* string search using the simplest algorithm */ char * diff --git a/indep.h b/indep.h index d701d5c..5965d06 100644 --- a/indep.h +++ b/indep.h @@ -1,4 +1,4 @@ -/* $Id: indep.h,v 1.7 2001/11/27 18:29:24 ukai Exp $ */ +/* $Id: indep.h,v 1.8 2002/06/07 15:46:44 ukai Exp $ */ #ifndef INDEP_H #define INDEP_H #include "gc.h" @@ -24,6 +24,13 @@ extern int strCmp(const void *s1, const void *s2); extern char *currentdir(void); extern char *cleanupName(char *name); extern char *expandPath(char *name); +#ifndef HAVE_STRCHR +extern char *strchr(const char *s, int c); +#endif /* not HAVE_STRCHR */ +#ifndef HAVE_STRCASECMP +extern int strcasecmp(const char *s1, const char *s2); +extern int strncasecmp(const char *s1, const char *s2, size_t n); +#endif /* not HAVE_STRCASECMP */ #ifndef HAVE_STRCASESTR extern char *strcasestr(const char *s1, const char *s2); #endif -- cgit v1.2.3