1 --- regex2.h.orig 2004-11-25 11:38:32.000000000 -0800
2 +++ regex2.h 2005-02-24 14:26:21.000000000 -0800
16 if (cs->ranges[i].min <= ch && ch <= cs->ranges[i].max)
18 for (i = 0; i < cs->ntypes; i++)
19 - if (iswctype(ch, cs->types[i]))
20 + if (iswctype_l(ch, cs->types[i], loc))
35 return (((cs->bmp[ch >> 3] & (1 << (ch & 7))) != 0) ^
38 - return (CHIN1(cs, ch) || CHIN1(cs, towlower(ch)) ||
39 - CHIN1(cs, towupper(ch)));
40 + return (CHIN1(cs, ch, loc) || CHIN1(cs, towlower_l(ch, loc), loc) ||
41 + CHIN1(cs, towupper_l(ch, loc), loc));
43 - return (CHIN1(cs, ch));
44 + return (CHIN1(cs, ch, loc));
49 size_t nsub; /* copy of re_nsub */
50 int backrefs; /* does it use back references? */
51 sopno nplus; /* how deep does it nest +s? */
52 + locale_t loc; /* current locale */
56 #define OUT (-2) /* a non-character value */
57 -#define ISWORD(c) (iswalnum((uch)(c)) || (c) == '_')
58 +#define ISWORD(c,l) (iswalnum_l((uch)(c), l) || (c) == '_')