aboutsummaryrefslogtreecommitdiff
path: root/jim.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2010-09-16 09:41:31 +1000
committerSteve Bennett <steveb@workware.net.au>2010-10-15 11:02:52 +1000
commitf599695f837c19be5d903e5c42097b3514ea3573 (patch)
tree7214fe004e6480f88c0a604bc2b3430697d8d149 /jim.c
parent2801904dafbac440eac1d833ef1594ca60771d9c (diff)
downloadjimtcl-f599695f837c19be5d903e5c42097b3514ea3573.zip
jimtcl-f599695f837c19be5d903e5c42097b3514ea3573.tar.gz
jimtcl-f599695f837c19be5d903e5c42097b3514ea3573.tar.bz2
Fix a bug with 'time' if the count is 0
And also some other warnings courtesy of the clang static analyzer Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim.c')
-rw-r--r--jim.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/jim.c b/jim.c
index ac0599b..5949bf8 100644
--- a/jim.c
+++ b/jim.c
@@ -2329,6 +2329,8 @@ static int JimStringIs(Jim_Interp *interp, Jim_Obj *strObjPtr, Jim_Obj *strClass
case STR_IS_PRINT: isclassfunc = isprint; break;
case STR_IS_GRAPH: isclassfunc = isgraph; break;
case STR_IS_PUNCT: isclassfunc = ispunct; break;
+ default:
+ return JIM_ERR;
}
for (i = 0; i < len; i++) {
@@ -9261,7 +9263,7 @@ int Jim_InterpolateTokens(Jim_Interp *interp, ScriptToken * token, int tokens, J
break;
default:
Jim_Panic(interp, "default token type reached " "in Jim_InterpolateTokens().");
- break;
+ exit(1);
}
Jim_IncrRefCount(intv[i]);
/* Make sure there is a valid
@@ -9564,7 +9566,7 @@ int Jim_EvalObj(Jim_Interp *interp, Jim_Obj *scriptObjPtr)
break;
default:
Jim_Panic(interp, "default token type reached " "in Jim_EvalObj().");
- break;
+ exit(1);
}
Jim_IncrRefCount(argv[j]);
i += 2;
@@ -12486,7 +12488,7 @@ static int Jim_TimeCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *arg
}
}
elapsed = JimClock() - start;
- sprintf(buf, fmt, elapsed / count);
+ sprintf(buf, fmt, count == 0 ? 0 : elapsed / count);
Jim_SetResultString(interp, buf, -1);
return JIM_OK;
}