massar@godot.UUCP (J.P. Massar) (02/23/85)
Fixed a regular expression bug. Repeat by: string: "caaad" pattern: c[a]*d Fix: in the procedure 'match_one_or_more' in the file e_regex.c replace the commented out line of code with the one above it. --------------------------------------------------------------------------- /* If the recursion didn't succeed, then does the termination */ /* condition hold at this point? If so, this is the maximal match */ if (!(more_node -> matched)) { if (next_pat == Nil) { set_match_bounds(more_node,start,esave); break; } match_at_position(next_pat,esave + 1,Nil); /* match_at_position(next_pat,curpos,Nil); */ if (next_pat -> matched) { set_match_bounds(more_node,start,esave); } } --------------------------------------------------------------------------- -- -- JP Massar, Thinking Machines Corporation, Cambridge, MA -- ihnp4!godot!massar -- massar@cca-unix