X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fuprf.c;h=f370b5c234819f74eed8af75c1d7047e896b3278;hp=7adc3218013334c2ef247542e45e8a49f86366da;hb=ee8d01d64e8832304256de53db07228e2be67f6a;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b diff --git a/sbr/uprf.c b/sbr/uprf.c index 7adc321..f370b5c 100644 --- a/sbr/uprf.c +++ b/sbr/uprf.c @@ -1,39 +1,20 @@ - /* - * uprf.c -- "unsigned" lexical prefix - * - * $Id$ - */ +** 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)) - 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; + if (!word || !prefix) { + return 0; + } + return (strncasecmp(word, prefix, strlen(prefix))==0) ? 1 : 0; }