aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2014-04-28 09:03:57 +1000
committerSteve Bennett <steveb@workware.net.au>2014-04-28 09:13:41 +1000
commit3f3d41aad58085ee834e19f43e1080372075a976 (patch)
tree53a4a2076ef33150d4a8136db885f9161b3b5d95
parent9dd0d2c1a7ed851474d08714e20511d66ef3122b (diff)
downloadjimtcl-3f3d41aad58085ee834e19f43e1080372075a976.zip
jimtcl-3f3d41aad58085ee834e19f43e1080372075a976.tar.gz
jimtcl-3f3d41aad58085ee834e19f43e1080372075a976.tar.bz2
jim.c: Simplify Jim_GetIndex() for int conversion
This approach avoids a coverity warning Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r--jim.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/jim.c b/jim.c
index 21502d5..22444e8 100644
--- a/jim.c
+++ b/jim.c
@@ -7393,10 +7393,13 @@ int Jim_GetIndex(Jim_Interp *interp, Jim_Obj *objPtr, int *indexPtr)
if (objPtr->typePtr == &intObjType) {
jim_wide val = JimWideValue(objPtr);
- if (!(val < LONG_MIN) && !(val > LONG_MAX)) {
- *indexPtr = (val < 0) ? -INT_MAX : (long)val;;
- return JIM_OK;
- }
+ if (val < 0)
+ *indexPtr = -INT_MAX;
+ else if (val > INT_MAX)
+ *indexPtr = INT_MAX;
+ else
+ *indexPtr = (int)val;
+ return JIM_OK;
}
if (objPtr->typePtr != &indexObjType && SetIndexFromAny(interp, objPtr) == JIM_ERR)
return JIM_ERR;