diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-06-21 22:38:58 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-06-21 22:38:58 (GMT) |
| commit | 22c9ba1a272f1a1aedbff98a5557e17754bb0b8b (patch) | |
| tree | d66a89aab2277d0b66eeef2bbb1639df7fd44cbe /generic/tclUtil.c | |
| parent | 09c0f6835523794621c9bae88e5ea3b955c14878 (diff) | |
| parent | bc87d9a2bc25805bbeda05983b9a403d0767fb1f (diff) | |
| download | tcl-22c9ba1a272f1a1aedbff98a5557e17754bb0b8b.zip tcl-22c9ba1a272f1a1aedbff98a5557e17754bb0b8b.tar.gz tcl-22c9ba1a272f1a1aedbff98a5557e17754bb0b8b.tar.bz2 | |
(partial) fix for [https://core.tcl-lang.org/tk/tktview/a9929f112a|a9929f112a]: Bugs in the implementation of TIP 577 ("Enhanced index values for Tk" )
Diffstat (limited to 'generic/tclUtil.c')
| -rw-r--r-- | generic/tclUtil.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c index 30ae39a..074614f 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -3660,6 +3660,9 @@ GetWideForIndex( if (numType == TCL_NUMBER_INT) { /* objPtr holds an integer in the signed wide range */ *widePtr = *(Tcl_WideInt *)cd; + if ((*widePtr < 0)) { + *widePtr = WIDE_MIN; + } return TCL_OK; } if (numType == TCL_NUMBER_BIG) { @@ -3966,7 +3969,7 @@ GetEndOffsetFromObj( offset = irPtr->wideValue; if (offset == WIDE_MAX) { - *widePtr = endValue + 1; + *widePtr = (endValue == (size_t)-1) ? WIDE_MAX : endValue + 1; } else if (offset == WIDE_MIN) { *widePtr = -1; } else if (endValue == (size_t)-1) { |
