diff options
author | Steve Bennett <steveb@workware.net.au> | 2010-09-16 09:41:31 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2010-10-15 11:02:52 +1000 |
commit | f599695f837c19be5d903e5c42097b3514ea3573 (patch) | |
tree | 7214fe004e6480f88c0a604bc2b3430697d8d149 /jim.c | |
parent | 2801904dafbac440eac1d833ef1594ca60771d9c (diff) | |
download | jimtcl-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.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -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; } |