X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fuprf.c;h=f370b5c234819f74eed8af75c1d7047e896b3278;hp=836a98b0d1ad0eafe733201ceaff3aaf09fbab4a;hb=ee8d01d64e8832304256de53db07228e2be67f6a;hpb=714b5c530ece27ea2835a313013f5b770163403c diff --git a/sbr/uprf.c b/sbr/uprf.c index 836a98b..f370b5c 100644 --- a/sbr/uprf.c +++ b/sbr/uprf.c @@ -1,5 +1,6 @@ /* ** 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 @@ -8,32 +9,12 @@ #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; }