aboutsummaryrefslogtreecommitdiff
path: root/jimregexp.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2019-12-30 11:42:09 +1000
committerSteve Bennett <steveb@workware.net.au>2019-12-30 11:42:09 +1000
commit8041a06372fa1dbbbf58c404bc98096ea2852a17 (patch)
tree873b817def4e206031345fd1ddd030c4eacabac4 /jimregexp.c
parent32eed9197b9560356d7c81a65d4de9f06fe70081 (diff)
downloadjimtcl-8041a06372fa1dbbbf58c404bc98096ea2852a17.zip
jimtcl-8041a06372fa1dbbbf58c404bc98096ea2852a17.tar.gz
jimtcl-8041a06372fa1dbbbf58c404bc98096ea2852a17.tar.bz2
regexp: Reset scanner position on failed optional group
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jimregexp.c')
-rw-r--r--jimregexp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/jimregexp.c b/jimregexp.c
index 5b2d60c..3f2711b 100644
--- a/jimregexp.c
+++ b/jimregexp.c
@@ -1582,6 +1582,8 @@ static int regmatch(regex_t *preg, int prog)
}
return(1);
}
+ /* Restore input position after failure */
+ preg->reginput = save;
return(0);
}
return REG_ERR_INTERNAL;