summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2020-06-16 12:43:01 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2020-06-16 12:43:01 (GMT)
commit4dc8aea8274770398d9080e03a4a18dfdf178184 (patch)
tree0d48921bdf75654c19791902998c13888cb2772f
parent5b449103dc3917f4480d02b98d77601522bcedbd (diff)
parent298726d3b8bf7a8ce60ae59ff0f3196f68931773 (diff)
downloadtcl-4dc8aea8274770398d9080e03a4a18dfdf178184.zip
tcl-4dc8aea8274770398d9080e03a4a18dfdf178184.tar.gz
tcl-4dc8aea8274770398d9080e03a4a18dfdf178184.tar.bz2
Merge 8.7
-rw-r--r--generic/tclUtil.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index 9ef4beb..cc09fdc 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.c
@@ -3397,12 +3397,14 @@ Tcl_GetIntForIndex(
if (GetWideForIndex(interp, objPtr, endValue, &wide) == TCL_ERROR) {
return TCL_ERROR;
}
- if (wide < 0) {
- *indexPtr = TCL_INDEX_NONE;
- } else if ((Tcl_WideUInt)wide > TCL_INDEX_END) {
- *indexPtr = TCL_INDEX_END;
- } else {
- *indexPtr = (size_t) wide;
+ if (indexPtr != NULL) {
+ if ((wide < 0) && (endValue != TCL_INDEX_END)) {
+ *indexPtr = TCL_INDEX_NONE;
+ } else if ((Tcl_WideUInt)wide > TCL_INDEX_END) {
+ *indexPtr = TCL_INDEX_END;
+ } else {
+ *indexPtr = (size_t) wide;
+ }
}
return TCL_OK;
}