summaryrefslogtreecommitdiffstats
path: root/generic/tclCmdMZ.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2012-05-24 16:50:40 (GMT)
committerdgp <dgp@users.sourceforge.net>2012-05-24 16:50:40 (GMT)
commit145ea8bbc6e1d499365d3e7ea81386aef956e32b (patch)
tree4251a9956293cba5d933f821e66ea739b15f7dca /generic/tclCmdMZ.c
parente451e666af76a6917a4c5c054b87c4c6f39d9484 (diff)
parent68d4dd76ebfda8029af039e6f6fd403ca851ce21 (diff)
downloadtcl-145ea8bbc6e1d499365d3e7ea81386aef956e32b.zip
tcl-145ea8bbc6e1d499365d3e7ea81386aef956e32b.tar.gz
tcl-145ea8bbc6e1d499365d3e7ea81386aef956e32b.tar.bz2
merge 8.5
Diffstat (limited to 'generic/tclCmdMZ.c')
-rw-r--r--generic/tclCmdMZ.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c
index 531e2b1..0ad77aa 100644
--- a/generic/tclCmdMZ.c
+++ b/generic/tclCmdMZ.c
@@ -3679,8 +3679,12 @@ Tcl_SwitchObjCmd(
if (indexVarObj != NULL) {
Tcl_Obj *rangeObjAry[2];
- rangeObjAry[0] = Tcl_NewLongObj(info.matches[j].start);
- rangeObjAry[1] = Tcl_NewLongObj(info.matches[j].end);
+ if (info.matches[j].end > 0) {
+ rangeObjAry[0] = Tcl_NewLongObj(info.matches[j].start);
+ rangeObjAry[1] = Tcl_NewLongObj(info.matches[j].end-1);
+ } else {
+ rangeObjAry[0] = rangeObjAry[1] = Tcl_NewIntObj(-1);
+ }
/*
* Never fails; the object is always clean at this point.