diff options
author | Russ Cox <rsc@swtch.com> | 2007-12-07 15:32:45 -0500 |
---|---|---|
committer | Russ Cox <rsc@swtch.com> | 2007-12-07 15:32:45 -0500 |
commit | a7511dd43d9afe8025a6d7bd2fcccf8f594a6f2b (patch) | |
tree | 591816db85ca6471ecf62ed04edc5fddc5e07cd6 /src/libregexp/regcomp.h | |
parent | 6c6117397fb186253bd8754ecfd4786d1d1371f6 (diff) | |
download | plan9port-a7511dd43d9afe8025a6d7bd2fcccf8f594a6f2b.tar.gz plan9port-a7511dd43d9afe8025a6d7bd2fcccf8f594a6f2b.tar.bz2 plan9port-a7511dd43d9afe8025a6d7bd2fcccf8f594a6f2b.zip |
libregexp: fix ambiguous match selection
echo SYSSYSR1 | sed 's/SYS.+/sysr1/'
was producing SYSsysr1 instead of sysr1.
Bug was introduced during overflow cleanup earlier this year.
Also bring regexec.c and rregexec.c into sync again.
Also allocate large enough lists in the regexec2/rregexec2 case.
Diffstat (limited to 'src/libregexp/regcomp.h')
-rw-r--r-- | src/libregexp/regcomp.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libregexp/regcomp.h b/src/libregexp/regcomp.h index 6c88cd09..fde99f54 100644 --- a/src/libregexp/regcomp.h +++ b/src/libregexp/regcomp.h @@ -68,7 +68,7 @@ struct Reljunk Rune* reol; }; -extern Relist* _renewthread(Relist*, Reinst*, int, Resublist*); +extern int _renewthread(Relist*, Relist*, Reinst*, int, Resublist*); extern void _renewmatch(Resub*, int, Resublist*); -extern Relist* _renewemptythread(Relist*, Reinst*, int, char*); -extern Relist* _rrenewemptythread(Relist*, Reinst*, int, Rune*); +extern int _renewemptythread(Relist*, Relist*, Reinst*, int, char*); +extern int _rrenewemptythread(Relist*, Relist*, Reinst*, int, Rune*); |