Removed the non-LOCALE character code and the #ifdefs and simplified.
[mmh] / sbr / uprf.c
index b3c81ff..77137c9 100644 (file)
@@ -1,41 +1,27 @@
-
 /*
- * 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
+**
+** 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 <h/mh.h>
 
-#define TO_LOWER 040
-#define NO_MASK  000
-
 
 int
-uprf (char *c1, char *c2)
+uprf(char *c1, char *c2)
 {
-    int c, mask;
+       int c, mask;
 
-    if (!(c1 && c2))
-       return 0;
+       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;
+       while ((c = *c2++)) {
+               if (tolower(c &= 0xff) != tolower(*c1 & 0xff))
+                       return 0;
+               else
+                       c1++;
+       }
+       return 1;
 }