[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 <suto@ks-and-ks.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2002-06-07 15:46:44 +00:00
parent 51bd5e7bff
commit 259d1f18be
4 changed files with 68 additions and 52 deletions

46
indep.c
View File

@@ -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 <stdio.h>
#include <pwd.h>
@@ -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 *