summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdMZ.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclCmdMZ.c')
-rw-r--r--generic/tclCmdMZ.c5
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);
}