From f599695f837c19be5d903e5c42097b3514ea3573 Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Thu, 16 Sep 2010 09:41:31 +1000 Subject: 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 --- jim.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'jim.c') 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; } -- cgit v1.1