]> diplodocus.org Git - nmh/blob - sbr/uprf.c
Just reworded the bit about '%s' being safe not to quote (it's only safe not to
[nmh] / sbr / uprf.c
1
2 /*
3 * uprf.c -- "unsigned" lexical prefix
4 *
5 * $Id$
6 */
7
8 #include <h/mh.h>
9
10 #define TO_LOWER 040
11 #define NO_MASK 000
12
13
14 int
15 uprf (char *c1, char *c2)
16 {
17 int c, mask;
18
19 if (!(c1 && c2))
20 return 0;
21
22 while ((c = *c2++))
23 {
24 #ifdef LOCALE
25 c &= 0xff;
26 mask = *c1 & 0xff;
27 c = (isalpha(c) && isupper(c)) ? tolower(c) : c;
28 mask = (isalpha(mask) && isupper(mask)) ? tolower(mask) : mask;
29 if (c != mask)
30 #else
31 mask = (isalpha(c) && isalpha(*c1)) ? TO_LOWER : NO_MASK;
32 if ((c | mask) != (*c1 | mask))
33 #endif
34 return 0;
35 else
36 c1++;
37 }
38 return 1;
39 }