=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/spell/spellprog.c,v retrieving revision 1.6 retrieving revision 1.7 diff -c -r1.6 -r1.7 *** src/usr.bin/spell/spellprog.c 2009/10/27 23:59:43 1.6 --- src/usr.bin/spell/spellprog.c 2013/11/28 18:24:55 1.7 *************** *** 1,4 **** ! /* $OpenBSD: spellprog.c,v 1.6 2009/10/27 23:59:43 deraadt Exp $ */ /* * Copyright (c) 1991, 1993 --- 1,4 ---- ! /* $OpenBSD: spellprog.c,v 1.7 2013/11/28 18:24:55 deraadt Exp $ */ /* * Copyright (c) 1991, 1993 *************** *** 98,104 **** int strip(char *, char *, char *, int); int suffix(char *, int); int tion(char *, char *, char *, int); ! int vowel(int); int y_to_e(char *, char *, char *, int); int CCe(char *, char *, char *, int); int VCe(char *, char *, char *, int); --- 98,104 ---- int strip(char *, char *, char *, int); int suffix(char *, int); int tion(char *, char *, char *, int); ! int vowel(unsigned char); int y_to_e(char *, char *, char *, int); int CCe(char *, char *, char *, int); int VCe(char *, char *, char *, int); *************** *** 321,342 **** *dp = '\0'; fold = 0; for (cp = word; cp < ep; cp++) ! if (islower(*cp)) goto lcase; if (trypref(ep, ".", 0)) continue; ++fold; for (cp = original + 1, dp = word + 1; dp < ep; dp++, cp++) ! *dp = tolower(*cp); lcase: if (trypref(ep, ".", 0) || suffix(ep, 0)) continue; ! if (isupper(word[0])) { for (cp = original, dp = word; (*dp = *cp++); dp++) { if (fold) ! *dp = tolower(*dp); } ! word[0] = tolower(word[0]); goto lcase; } file = stdout; --- 321,342 ---- *dp = '\0'; fold = 0; for (cp = word; cp < ep; cp++) ! if (islower((unsigned char)*cp)) goto lcase; if (trypref(ep, ".", 0)) continue; ++fold; for (cp = original + 1, dp = word + 1; dp < ep; dp++, cp++) ! *dp = tolower((unsigned char)*cp); lcase: if (trypref(ep, ".", 0) || suffix(ep, 0)) continue; ! if (isupper((unsigned char)word[0])) { for (cp = original, dp = word; (*dp = *cp++); dp++) { if (fold) ! *dp = tolower((unsigned char)*dp); } ! word[0] = tolower((unsigned char)word[0]); goto lcase; } file = stdout; *************** *** 420,426 **** an(char *ep, char *d, char *a, int lev) { ! if (!isupper(*word)) /* must be proper name */ return (0); return (trypref(ep,a,lev)); } --- 420,426 ---- an(char *ep, char *d, char *a, int lev) { ! if (!isupper((unsigned char)*word)) /* must be proper name */ return (0); return (trypref(ep,a,lev)); } *************** *** 598,604 **** for (sp = preftab; *sp; sp++) { bp = *wp; for (cp = *sp; *cp; cp++, bp++) { ! if (tolower(*bp) != *cp) goto next; } for (cp = bp; cp < ep; cp++) { --- 598,604 ---- for (sp = preftab; *sp; sp++) { bp = *wp; for (cp = *sp; *cp; cp++, bp++) { ! if (tolower((unsigned char)*bp) != *cp) goto next; } for (cp = bp; cp < ep; cp++) { *************** *** 703,709 **** } int ! vowel(int c) { switch (tolower(c)) { --- 703,709 ---- } int ! vowel(unsigned char c) { switch (tolower(c)) {