X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Fhelper%2Fjim.c;h=117ec56f42b390591bef8a45045feb6e8ba0b006;hb=df22f0f9ca4ebf881adf8d20cb63e64139f18613;hp=d999c696f9c50dbd01d3949453c1ca2d6af7a6b4;hpb=9655c5b093d459df001d7a11742d9a84183ce1f2;p=openocd.git diff --git a/src/helper/jim.c b/src/helper/jim.c index d999c696f9..117ec56f42 100644 --- a/src/helper/jim.c +++ b/src/helper/jim.c @@ -3,11 +3,14 @@ * Copyright 2005 Salvatore Sanfilippo * Copyright 2005 Clemens Hintze * Copyright 2005 patthoyts - Pat Thoyts - * Copyright 2008 oharboe - Øyvind Harboe - oyvind.harboe@zylin.com + * Copyright 2008,2009 oharboe - Øyvind Harboe - oyvind.harboe@zylin.com * Copyright 2008 Andrew Lunn * Copyright 2008 Duane Ellis * Copyright 2008 Uwe Klein * Copyright 2008 Steve Bennett + * Copyright 2009 Nico Coesel + * Copyright 2009 Zachary T Welch zw@superlucidity.net + * Copyright 2009 David Brownell * * The FreeBSD license * @@ -50,6 +53,9 @@ #include #include #include + +typedef CYG_ADDRWORD intptr_t; + #include #include #include @@ -3235,7 +3241,7 @@ int Jim_CreateProcedure(Jim_Interp *interp, const char *cmdName, Jim_InitHashTable(cmdPtr->staticVars, getJimVariablesHashTableType(), interp); for (i = 0; i < len; i++) { - Jim_Obj *objPtr, *initObjPtr, *nameObjPtr; + Jim_Obj *objPtr=NULL, *initObjPtr=NULL, *nameObjPtr=NULL; Jim_Var *varPtr; int subLen; @@ -4751,7 +4757,7 @@ const char *Jim_GetSharedString(Jim_Interp *interp, const char *str) Jim_AddHashEntry(&interp->sharedStrings, strCopy, (void*)1); return strCopy; } else { - long refCount = (long) he->val; + intptr_t refCount = (intptr_t) he->val; refCount++; he->val = (void*) refCount; @@ -4761,13 +4767,13 @@ const char *Jim_GetSharedString(Jim_Interp *interp, const char *str) void Jim_ReleaseSharedString(Jim_Interp *interp, const char *str) { - long refCount; + intptr_t refCount; Jim_HashEntry *he = Jim_FindHashEntry(&interp->sharedStrings, str); if (he == NULL) Jim_Panic(interp,"Jim_ReleaseSharedString called with " "unknown shared string '%s'", str); - refCount = (long) he->val; + refCount = (intptr_t) he->val; refCount--; if (refCount == 0) { Jim_DeleteHashEntry(&interp->sharedStrings, str); @@ -7739,7 +7745,7 @@ Jim_Obj *Jim_ScanString(Jim_Interp *interp, Jim_Obj *strObjPtr, int scanned = 1; const char *str = Jim_GetString(strObjPtr, 0); Jim_Obj *resultList = 0; - Jim_Obj **resultVec; + Jim_Obj **resultVec =NULL; int resultc; Jim_Obj *emptyStr = 0; ScanFmtStringObj *fmtObj; @@ -8823,9 +8829,9 @@ int JimCallProcedure(Jim_Interp *interp, Jim_Cmd *cmd, int argc, } for (i = 0; i < num_args; i++) { - Jim_Obj *argObjPtr; - Jim_Obj *nameObjPtr; - Jim_Obj *valueObjPtr; + Jim_Obj *argObjPtr=NULL; + Jim_Obj *nameObjPtr=NULL; + Jim_Obj *valueObjPtr=NULL; Jim_ListIndex(interp, cmd->argListObjPtr, i, &argObjPtr, JIM_NONE); if (i + 1 >= cmd->arityMin) { @@ -8849,7 +8855,7 @@ int JimCallProcedure(Jim_Interp *interp, Jim_Cmd *cmd, int argc, } /* Set optional arguments */ if (cmd->arityMax == -1) { - Jim_Obj *listObjPtr, *objPtr; + Jim_Obj *listObjPtr=NULL, *objPtr=NULL; i++; listObjPtr = Jim_NewListObj(interp, argv + i, argc-i); @@ -9421,7 +9427,7 @@ static Jim_Obj *JimCommandsList(Jim_Interp *interp, Jim_Obj *patternObjPtr) Jim_HashEntry *he; Jim_Obj *listObjPtr = Jim_NewListObj(interp, NULL, 0); const char *pattern; - int patternLen; + int patternLen=0; pattern = patternObjPtr ? Jim_GetString(patternObjPtr, &patternLen) : NULL; htiter = Jim_GetHashTableIterator(&interp->commands); @@ -9447,7 +9453,7 @@ static Jim_Obj *JimVariablesList(Jim_Interp *interp, Jim_Obj *patternObjPtr, Jim_HashEntry *he; Jim_Obj *listObjPtr = Jim_NewListObj(interp, NULL, 0); const char *pattern; - int patternLen; + int patternLen=0; pattern = patternObjPtr ? Jim_GetString(patternObjPtr, &patternLen) : NULL; if (mode == JIM_VARLIST_GLOBALS) { @@ -9816,7 +9822,7 @@ static int Jim_WhileCoreCommand(Jim_Interp *interp, int argc, exprLen = expr->len; if (exprLen == 1) { - jim_wide wideValue; + jim_wide wideValue=0; if (expr->opcode[0] == JIM_EXPROP_VARIABLE) { varAObjPtr = expr->obj[0]; @@ -9856,7 +9862,7 @@ static int Jim_WhileCoreCommand(Jim_Interp *interp, int argc, if (varAObjPtr) Jim_DecrRefCount(interp, varAObjPtr); } else if (exprLen == 3) { - jim_wide wideValueA, wideValueB, cmpRes = 0; + jim_wide wideValueA, wideValueB=0, cmpRes = 0; int cmpType = expr->opcode[2]; varAObjPtr = expr->obj[0]; @@ -9983,7 +9989,7 @@ static int Jim_ForCoreCommand(Jim_Interp *interp, int argc, { ScriptObj *initScript, *incrScript; ExprByteCode *expr; - jim_wide start, stop, currentVal; + jim_wide start, stop=0, currentVal; unsigned jim_wide procEpoch = interp->procEpoch; Jim_Obj *varNamePtr, *stopVarNamePtr = NULL, *objPtr; int cmpType; @@ -11013,7 +11019,7 @@ static int Jim_ProcCoreCommand(Jim_Interp *interp, int argc, if (argListLen) { const char *str; int len; - Jim_Obj *argPtr; + Jim_Obj *argPtr=NULL; /* Check for 'args' and adjust arityMin and arityMax if necessary */ Jim_ListIndex(interp, argv[2], argListLen-1, &argPtr, JIM_NONE); @@ -11132,7 +11138,7 @@ static Jim_Obj *JimStringMap(Jim_Interp *interp, Jim_Obj *mapListObjPtr, value = Jim_Alloc(sizeof(Jim_Obj*)*numMaps); resultObjPtr = Jim_NewStringObj(interp, "", 0); for (i = 0; i < numMaps; i++) { - Jim_Obj *eleObjPtr; + Jim_Obj *eleObjPtr=NULL; Jim_ListIndex(interp, mapListObjPtr, i*2, &eleObjPtr, JIM_NONE); key[i] = Jim_GetString(eleObjPtr, &keyLen[i]); @@ -11855,7 +11861,7 @@ static int Jim_JoinCoreCommand(Jim_Interp *interp, int argc, resObjPtr = Jim_NewStringObj(interp, NULL, 0); /* Split */ for (i = 0; i < listLen; i++) { - Jim_Obj *objPtr; + Jim_Obj *objPtr=NULL; Jim_ListIndex(interp, argv[1], i, &objPtr, JIM_NONE); Jim_AppendObj(interp, resObjPtr, objPtr); @@ -12119,7 +12125,7 @@ static int Jim_RangeCoreCommand(Jim_Interp *interp, int argc, static int Jim_RandCoreCommand(Jim_Interp *interp, int argc, Jim_Obj *const *argv) { - jim_wide min = 0, max, len, maxMul; + jim_wide min = 0, max =0, len, maxMul; if (argc < 1 || argc > 3) { Jim_WrongNumArgs(interp, 1, argv, "?min? max"); @@ -12311,7 +12317,7 @@ void Jim_PrintErrorMessage(Jim_Interp *interp) Jim_GetString(interp->result, NULL)); Jim_ListLength(interp, interp->stackTrace, &len); for (i = len-3; i >= 0; i-= 3) { - Jim_Obj *objPtr; + Jim_Obj *objPtr=NULL; const char *proc, *file, *line; Jim_ListIndex(interp, interp->stackTrace, i, &objPtr, JIM_NONE);