Also clarified what an ``unsigned prefix'' really is.
I haven't changed all uses of uprf() in the code to strncasecmp(). This
could be done. I'm not sure if it would enhance the clarity of the code.
We don't need a prototype for strncasecmp(), because it's declared in
strings.h.
char *write_charset_8bit(void);
int mh_strcasecmp(const char *s1, const char *s2);
-int strncasecmp(const char *s1, const char *s2, size_t n);
/*
/*
** uprf.c -- "unsigned" lexical prefix
+** -- Check if `word' starts with `prefix', caseinsensitively.
**
** This code is Copyright (c) 2002, by the authors of nmh. See the
** COPYRIGHT file in the root directory of the nmh distribution for
int
-uprf(char *c1, char *c2)
+uprf(char *word, char *prefix)
{
- int c;
-
- if (!(c1 && c2))
+ if (!word || !prefix) {
return 0;
-
- while ((c = *c2++)) {
- if (tolower(c &= 0xff) != tolower(*c1 & 0xff))
- return 0;
- else
- c1++;
}
- return 1;
+ return (strncasecmp(word, prefix, strlen(prefix))==0) ? 1 : 0;
}