From 0e6f26551664f4aa6fa5b4bb5ae0638930f8cf0f Mon Sep 17 00:00:00 2001 From: Sven Wischnowsky Date: Mon, 15 Oct 2001 11:28:07 +0000 Subject: for caching of compiled patterns: remember that singsub() might modify the string it gets, compare with unmodified string (16041) --- Src/loop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Src/loop.c') diff --git a/Src/loop.c b/Src/loop.c index 38eeda7d6..57ee11695 100644 --- a/Src/loop.c +++ b/Src/loop.c @@ -543,7 +543,7 @@ execcase(Estate state, int do_exec) if (isset(XTRACE)) { char *pat2, *opat; - opat = pat = ecgetstr(state, EC_DUP, NULL); + pat = dupstring(opat = ecrawstr(state->prog, state->pc, NULL)); singsub(&pat); save = (!(state->prog->flags & EF_HEAP) && !strcmp(pat, opat) && *spprog != dummy_patprog2); @@ -565,7 +565,7 @@ execcase(Estate state, int do_exec) char *opat; int htok = 0; - opat = pat = dupstring(ecrawstr(state->prog, + pat = dupstring(opat = ecrawstr(state->prog, state->pc - 2, &htok)); if (htok) singsub(&pat); -- cgit 1.4.1