]> diplodocus.org Git - nmh/blob - sbr/uprf.c
Add support for a -nosasl switch.
[nmh] / sbr / uprf.c
1
2 /*
3 * uprf.c -- "unsigned" lexical prefix
4 *
5 * This code is Copyright (c) 2002, by the authors of nmh. See the
6 * COPYRIGHT file in the root directory of the nmh distribution for
7 * complete copyright information.
8 */
9
10 #include <h/mh.h>
11
12 #ifndef LOCALE
13 # define TO_LOWER 040
14 # define NO_MASK 000
15 #endif
16
17
18 int
19 uprf (char *c1, char *c2)
20 {
21 int c, mask;
22
23 if (!(c1 && c2))
24 return 0;
25
26 while ((c = *c2++))
27 {
28 #ifdef LOCALE
29 c &= 0xff;
30 mask = *c1 & 0xff;
31 c = (isalpha(c) && isupper(c)) ? tolower(c) : c;
32 mask = (isalpha(mask) && isupper(mask)) ? tolower(mask) : mask;
33 if (c != mask)
34 #else
35 mask = (isalpha(c) && isalpha(*c1)) ? TO_LOWER : NO_MASK;
36 if ((c | mask) != (*c1 | mask))
37 #endif
38 return 0;
39 else
40 c1++;
41 }
42 return 1;
43 }