--- grep-2.5.1a/src/grep.c.icolor 2005-01-07 12:05:20.877785250 +0000 +++ grep-2.5.1a/src/grep.c 2005-01-07 12:05:44.690194388 +0000 @@ -564,33 +564,6 @@ { size_t match_size; size_t match_offset; - if(match_icase) - { - /* Yuck, this is tricky */ - char *buf = (char*) xmalloc (lim - beg); - char *ibeg = buf; - char *ilim = ibeg + (lim - beg); - int i; - for (i = 0; i < lim - beg; i++) - ibeg[i] = tolower (beg[i]); - while ((match_offset = (*execute) (ibeg, ilim-ibeg, &match_size, 1)) - != (size_t) -1) - { - char const *b = beg + match_offset; - if (b == lim) - break; - fwrite (beg, sizeof (char), match_offset, stdout); - printf ("\33[%sm", grep_color); - fwrite (b, sizeof (char), match_size, stdout); - fputs ("\33[00m", stdout); - beg = b + match_size; - ibeg = ibeg + match_offset + match_size; - } - fwrite (beg, 1, lim - beg, stdout); - free (buf); - lastout = lim; - return; - } while (lim-beg && (match_offset = (*execute) (beg, lim - beg, &match_size, 1)) != (size_t) -1) {