aboutsummaryrefslogtreecommitdiff
path: root/src/libregexp/regcomp.h
diff options
context:
space:
mode:
authorRuss Cox <rsc@swtch.com>2007-12-07 15:32:45 -0500
committerRuss Cox <rsc@swtch.com>2007-12-07 15:32:45 -0500
commita7511dd43d9afe8025a6d7bd2fcccf8f594a6f2b (patch)
tree591816db85ca6471ecf62ed04edc5fddc5e07cd6 /src/libregexp/regcomp.h
parent6c6117397fb186253bd8754ecfd4786d1d1371f6 (diff)
downloadplan9port-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.h6
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*);