Hi, so is my patch correct? Without my patch re_string_peek_byte() is not executed - and this is the function that is executed (and where the match is found) when "--ignore-case" is not enabled. With my patch grep is able to match the '\a' while still preserving the correctness for other cases. For sure some tests would be helpful but from what I checked my patch is not breaking anything else while adding the correct match for '\a' case.
If you still think the patch is wrong, could you please point me in the right direction? Maybe you could point me where it's not preserving correctness. Best regards, Tomasz Dziendzielski śr., 20 paź 2021 o 03:10 Tomasz Dziendzielski < tomasz.dziendziel...@gmail.com> napisał(a): > >> I found that for optimization purposes common cases in > re_string_peek_byte > >> are missed if pstr->mbs_allocated is true, thus skipping them also for > case > >> insensitive. > > >Unfortunately I've lost context here. Is this patch being proposed to > >improve performance, or to fix a bug? > > >I don't see how the patch preserves correctness: if pstr->icase is true, > >surely in general we need to look at the translated string, not the > >original. > > It's to fix the bug. Without the patch if we use icase this > re_string_peek_byte was not executed and as a consequence match is not > found. > If we apply the patch grep is able to match the '\a' correctly. The patch > has nothing to do with improving performance, if was just an additional > comment from my side that the fix should not affect the performance (in my > opinion). Sorry for confusion. > > Best regards, > Tomasz Dziendzielski >