summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmdsGR.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2014-09-09 19:49:08 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2014-09-09 19:49:08 (GMT)
commite19c2ce585d7fe309059bb96044b08dbfa850a6b (patch)
tree0e1dfc6cdd11a98cd4dcc4114975380736e527fd /generic/tclCompCmdsGR.c
parent04d10eb983cb26686f38383404b6b6ef9876f9e1 (diff)
downloadtcl-e19c2ce585d7fe309059bb96044b08dbfa850a6b.zip
tcl-e19c2ce585d7fe309059bb96044b08dbfa850a6b.tar.gz
tcl-e19c2ce585d7fe309059bb96044b08dbfa850a6b.tar.bz2
[84af1192f5]: [regsub] compiler no longer confused by quantification handling.
Diffstat (limited to 'generic/tclCompCmdsGR.c')
-rw-r--r--generic/tclCompCmdsGR.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/generic/tclCompCmdsGR.c b/generic/tclCompCmdsGR.c
index 64dcaa6..603c51d 100644
--- a/generic/tclCompCmdsGR.c
+++ b/generic/tclCompCmdsGR.c
@@ -2270,7 +2270,7 @@ TclCompileRegexpCmd(
* converted pattern as a literal.
*/
- if (TclReToGlob(NULL, varTokenPtr[1].start, len, &ds, &exact)
+ if (TclReToGlob(NULL, varTokenPtr[1].start, len, &ds, &exact, NULL)
== TCL_OK) {
simple = 1;
PushLiteral(envPtr, Tcl_DStringValue(&ds),Tcl_DStringLength(&ds));
@@ -2362,7 +2362,7 @@ TclCompileRegsubCmd(
Tcl_Obj *patternObj = NULL, *replacementObj = NULL;
Tcl_DString pattern;
const char *bytes;
- int len, exact, result = TCL_ERROR;
+ int len, exact, quantified, result = TCL_ERROR;
if (parsePtr->numWords < 5 || parsePtr->numWords > 6) {
return TCL_ERROR;
@@ -2422,7 +2422,8 @@ TclCompileRegsubCmd(
*/
bytes = Tcl_GetStringFromObj(patternObj, &len);
- if (TclReToGlob(NULL, bytes, len, &pattern, &exact) != TCL_OK || exact) {
+ if (TclReToGlob(NULL, bytes, len, &pattern, &exact, &quantified)
+ != TCL_OK || exact || quantified) {
goto done;
}
bytes = Tcl_DStringValue(&pattern);