X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fstrcasecmp.c;h=d59c10c8d190d92d93d6bb8cc390f61c2a47845f;hp=04aad7d31f904db9b7cbaca402ae6ef1e3af73b3;hb=HEAD;hpb=5dd6771b28c257af405d7248639ed0e3bcdce38b diff --git a/sbr/strcasecmp.c b/sbr/strcasecmp.c index 04aad7d..d59c10c 100644 --- a/sbr/strcasecmp.c +++ b/sbr/strcasecmp.c @@ -1,55 +1,35 @@ - /* - * strcasecmp.c -- compare strings, ignoring case - * - * 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. - */ +** strcasecmp.c -- compare strings, ignoring case +** +** 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 +#include /* - * Our version of strcasecmp has to deal with NULL strings. - * Once that is fixed in the rest of the code, we can use the - * native version, instead of this one. - */ - -int -mh_strcasecmp (const char *s1, const char *s2) -{ - const unsigned char *us1, *us2; - - us1 = (const unsigned char *) s1, - us2 = (const unsigned char *) s2; - - if (!us1) - us1 = ""; - if (!us2) - us2 = ""; - - while (tolower(*us1) == tolower(*us2++)) - if (*us1++ == '\0') - return (0); - return (tolower(*us1) - tolower(*--us2)); -} - +** Our version of strcasecmp has to deal with NULL strings. +** Once that is fixed in the rest of the code, we can use the +** native version, instead of this one. +*/ int -mh_strncasecmp (const char *s1, const char *s2, size_t n) +mh_strcasecmp(const char *s1, const char *s2) { - const unsigned char *us1, *us2; + const unsigned char *us1, *us2; - if (n != 0) { us1 = (const unsigned char *) s1, us2 = (const unsigned char *) s2; - do { - if (tolower(*us1) != tolower(*us2++)) - return (tolower(*us1) - tolower(*--us2)); - if (*us1++ == '\0') - break; - } while (--n != 0); - } - return (0); + if (!us1) + us1 = ""; + if (!us2) + us2 = ""; + + while (tolower(*us1) == tolower(*us2++)) + if (*us1++ == '\0') + return (0); + return (tolower(*us1) - tolower(*--us2)); }