diff options
Diffstat (limited to 'generic/tclCmdMZ.c')
-rw-r--r-- | generic/tclCmdMZ.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c index 841002f..8279d83 100644 --- a/generic/tclCmdMZ.c +++ b/generic/tclCmdMZ.c @@ -2355,7 +2355,7 @@ StringRplcCmd( return TCL_ERROR; } - if ((last < first) || (last < 0) || (first > length)) { + if (first > length+1) { Tcl_SetObjResult(interp, objv[1]); } else { Tcl_Obj *resultPtr; @@ -2372,6 +2372,9 @@ StringRplcCmd( Tcl_AppendObjToObj(resultPtr, objv[4]); } if (last < length) { + if (last < first) { + last = first - 1; + } Tcl_AppendUnicodeToObj(resultPtr, ustring + last + 1, length - last); } |