--- grep-2.5.1/src/search.c.oi 2003-12-08 10:56:43.000000000 +0000 +++ grep-2.5.1/src/search.c 2003-12-08 11:01:11.000000000 +0000 @@ -219,6 +219,21 @@ patterns[pcount] = patterns0; + // patch ed@javabase.fsnet.co.uk + if (match_icase +#ifdef MBS_SUPPORT + && MB_CUR_MAX == 1 +#endif /* MBS_SUPPORT */ + ) + { + static char trans[NCHAR]; + int i; + for (i = 0; i < NCHAR; ++i) + trans[i] = TOLOWER (i); + patterns[pcount].regexbuf.translate = trans; + } + // end patch + if ((err = re_compile_pattern (motif, len, &(patterns[pcount].regexbuf))) != 0) error (2, 0, err); @@ -302,6 +317,21 @@ error (2, errno, _("memory exhausted")); patterns[pcount] = patterns0; + // patch ed@javabase.fsnet.co.uk + if (match_icase +#ifdef MBS_SUPPORT + && MB_CUR_MAX == 1 +#endif /* MBS_SUPPORT */ + ) + { + static char trans[NCHAR]; + int i; + for (i = 0; i < NCHAR; ++i) + trans[i] = TOLOWER (i); + patterns[pcount].regexbuf.translate = trans; + } + // end patch + if ((err = re_compile_pattern (motif, len, &(patterns[pcount].regexbuf))) != 0) error (2, 0, err);