diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-06-06 10:39:31 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2024-06-06 10:39:31 (GMT) |
| commit | c12e4b6cfe9d4b18e89bb8162766fe660722f48f (patch) | |
| tree | 3a8521ee3816c25eceb1e02abfd6aa3746fe7be3 /generic/tclUtil.c | |
| parent | b54632928e8d3ebda479a7e8e56fa3b53a22f1ce (diff) | |
| parent | 43d2194943b8bb2c3080092a8219e3923b51f9bf (diff) | |
| download | tcl-c12e4b6cfe9d4b18e89bb8162766fe660722f48f.zip tcl-c12e4b6cfe9d4b18e89bb8162766fe660722f48f.tar.gz tcl-c12e4b6cfe9d4b18e89bb8162766fe660722f48f.tar.bz2 | |
Fix [57daa91ea]: Tcl_GetIntForIndex handling of n-m (m > n). With testcases.
Diffstat (limited to 'generic/tclUtil.c')
| -rw-r--r-- | generic/tclUtil.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c index e82eea2..b87b5d6 100644 --- a/generic/tclUtil.c +++ b/generic/tclUtil.c @@ -3706,18 +3706,12 @@ GetEndOffsetFromObj( * as endValue will have to adjust accordingly. */ *widePtr = (endValue == -1) ? WIDE_MAX : endValue + 1; - } else if (offset == WIDE_MIN) { - /* -1 - position before first */ - *widePtr = -1; } else if (offset < 0) { /* end-(n-1) - Different signs, sum cannot overflow */ *widePtr = endValue + offset + 1; - } else if (offset < WIDE_MAX) { - /* 0:WIDE_MAX-1 - plain old index. */ - *widePtr = offset; } else { - /* Huh, what case remains here? */ - *widePtr = WIDE_MAX; + /* 0:WIDE_MAX - plain old index. */ + *widePtr = offset; } return TCL_OK; |
