X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fuprf.c;h=f370b5c234819f74eed8af75c1d7047e896b3278;hp=7964a82e1fedc738453f911b3eb0f388ee9ba01f;hb=ee8d01d64e8832304256de53db07228e2be67f6a;hpb=a485ed478abbd599d8c9aab48934e7a26733ecb1 diff --git a/sbr/uprf.c b/sbr/uprf.c index 7964a82..f370b5c 100644 --- a/sbr/uprf.c +++ b/sbr/uprf.c @@ -1,39 +1,20 @@ /* - * uprf.c -- "unsigned" lexical prefix - * - * This code is Copyright (c) 2002, by the authors of nmh. See the - * COPYRIGHT file in the root directory of the nmh distribution for - * complete copyright information. - */ +** 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 +** complete copyright information. +*/ #include -#define TO_LOWER 040 -#define NO_MASK 000 - int -uprf (char *c1, char *c2) +uprf(char *word, char *prefix) { - int c, mask; - - if (!(c1 && c2)) + if (!word || !prefix) { return 0; - - while ((c = *c2++)) { -#ifdef LOCALE - c &= 0xff; - mask = *c1 & 0xff; - c = (isalpha(c) && isupper(c)) ? tolower(c) : c; - mask = (isalpha(mask) && isupper(mask)) ? tolower(mask) : mask; - if (c != mask) -#else - mask = (isalpha(c) && isalpha(*c1)) ? TO_LOWER : NO_MASK; - if ((c | mask) != (*c1 | mask)) -#endif - return 0; - else - c1++; } - return 1; + return (strncasecmp(word, prefix, strlen(prefix))==0) ? 1 : 0; }