Il 16/03/2012 09:44, Jim Meyering ha scritto:
>>> >> +xp1=4294967297 # 2^32+1
>>> >> +xp2=4294967298 # 2^32+2
>>> >> +
>>> >> +fail=0
>>> >> +
>>> >> +# Before grep-2.11, when DFA-matching, a repetition count exceeding the
>>> >> +# range of "unsigned int" would silently wrap around. Hence, 2^32+1
>>> >> +# would be treated just like "1", and both of these would mistakenly
>>> >> match.
>>> >> +
>>> >> +echo abc | grep -E "b{$xp1}" > out 2>&1; test $? = 1 || fail=1
>>> >> +compare out /dev/null || fail=1
>>> >> +echo abbc | grep -E "b{1,$xp2}" > out 2>&1; test $? = 1 || fail=1
>>> >> +compare out /dev/null || fail=1
> ...
>> >
>> > Should this be marked as expensive?
> Hi Paolo,
>
> Why?
> That test takes only a small fraction of a second.
> If it's slow for you, then there must be a bug.
> Or maybe you mean some other test?
Based on the code it should have been awfully expensive. I'll take a look.
Paolo