diff options
author | dkf <dkf@noemail.net> | 2014-09-09 19:49:08 (GMT) |
---|---|---|
committer | dkf <dkf@noemail.net> | 2014-09-09 19:49:08 (GMT) |
commit | 9e76b1aca3113eb784d036078aa575fd5e108a47 (patch) | |
tree | 72a3f847eacafc0e7683bb731876435229575b2b /generic/tclCompCmdsGR.c | |
parent | 012a0523f81e6f133c76b1cf9e61800a9777b282 (diff) | |
download | tcl-9e76b1aca3113eb784d036078aa575fd5e108a47.zip tcl-9e76b1aca3113eb784d036078aa575fd5e108a47.tar.gz tcl-9e76b1aca3113eb784d036078aa575fd5e108a47.tar.bz2 |
[84af1192f5]: [regsub] compiler no longer confused by quantification handling.
FossilOrigin-Name: 25f44e9a6d13da68a2acd60c02e0ccf4d202d3a2
Diffstat (limited to 'generic/tclCompCmdsGR.c')
-rw-r--r-- | generic/tclCompCmdsGR.c | 7 |
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); |