/* Search 's1' inside 's2', starting to search from char 'index' of 's2'.
* The index of the first occurrence of s1 in s2 is returned.
* If s1 is not found inside s2, -1 is returned. */
-int JimStringFirst(const char *s1, int l1, const char *s2, int l2, int index)
+int JimStringFirst(const char *s1, int l1, const char *s2, int l2, int index_t)
{
int i;
if (!l1 || !l2 || l1 > l2) return -1;
- if (index < 0) index = 0;
- s2 += index;
- for (i = index; i <= l2-l1; i++) {
+ if (index_t < 0) index_t = 0;
+ s2 += index_t;
+ for (i = index_t; i <= l2-l1; i++) {
if (memcmp(s2, s1, l1) == 0)
return i;
s2++;
/* Add an element to the target hash table */
int Jim_AddHashEntry(Jim_HashTable *ht, const void *key, void *val)
{
- int index;
+ int index_t;
Jim_HashEntry *entry;
/* Get the index of the new element, or -1 if
* the element already exists. */
- if ((index = JimInsertHashEntry(ht, key)) == -1)
+ if ((index_t = JimInsertHashEntry(ht, key)) == -1)
return JIM_ERR;
/* Allocates the memory and stores key */
entry = Jim_Alloc(sizeof(*entry));
- entry->next = ht->table[index];
- ht->table[index] = entry;
+ entry->next = ht->table[index_t];
+ ht->table[index_t] = entry;
/* Set the hash entry fields. */
Jim_SetHashKey(ht, entry, key);
* This function may return negative values, or values
* bigger or equal to the length of the list if the index
* is out of range. */
-static int JimRelToAbsIndex(int len, int index)
+static int JimRelToAbsIndex(int len, int index_t)
{
- if (index < 0)
- return len + index;
- return index;
+ if (index_t < 0)
+ return len + index_t;
+ return index_t;
}
/* Convert a pair of index as normalize by JimRelToAbsIndex(),
*
* NOTE: this function can be called only against objects
* with internal type of List. */
-void ListInsertElements(Jim_Obj *listPtr, int index, int elemc,
+void ListInsertElements(Jim_Obj *listPtr, int index_t, int elemc,
Jim_Obj *const *elemVec)
{
int currentLen = listPtr->internalRep.listValue.len;
sizeof(Jim_Obj*)*maxLen);
listPtr->internalRep.listValue.maxLen = maxLen;
}
- point = listPtr->internalRep.listValue.ele + index;
- memmove(point + elemc, point, (currentLen-index) * sizeof(Jim_Obj*));
+ point = listPtr->internalRep.listValue.ele + index_t;
+ memmove(point + elemc, point, (currentLen-index_t) * sizeof(Jim_Obj*));
for (i = 0; i < elemc; ++i) {
point[i] = elemVec[i];
Jim_IncrRefCount(point[i]);
*intPtr = listPtr->internalRep.listValue.len;
}
-void Jim_ListInsertElements(Jim_Interp *interp, Jim_Obj *listPtr, int index,
+void Jim_ListInsertElements(Jim_Interp *interp, Jim_Obj *listPtr, int index_t,
int objc, Jim_Obj *const *objVec)
{
if (Jim_IsShared(listPtr))
Jim_Panic(interp,"Jim_ListInsertElement called with shared object");
if (listPtr->typePtr != &listObjType)
SetListFromAny(interp, listPtr);
- if (index >= 0 && index > listPtr->internalRep.listValue.len)
- index = listPtr->internalRep.listValue.len;
- else if (index < 0)
- index = 0;
+ if (index_t >= 0 && index_t > listPtr->internalRep.listValue.len)
+ index_t = listPtr->internalRep.listValue.len;
+ else if (index_t < 0)
+ index_t = 0;
Jim_InvalidateStringRep(listPtr);
- ListInsertElements(listPtr, index, objc, objVec);
+ ListInsertElements(listPtr, index_t, objc, objVec);
}
-int Jim_ListIndex(Jim_Interp *interp, Jim_Obj *listPtr, int index,
+int Jim_ListIndex(Jim_Interp *interp, Jim_Obj *listPtr, int index_t,
Jim_Obj **objPtrPtr, int flags)
{
if (listPtr->typePtr != &listObjType)
SetListFromAny(interp, listPtr);
- if ((index >= 0 && index >= listPtr->internalRep.listValue.len) ||
- (index < 0 && (-index-1) >= listPtr->internalRep.listValue.len)) {
+ if ((index_t >= 0 && index_t >= listPtr->internalRep.listValue.len) ||
+ (index_t < 0 && (-index_t-1) >= listPtr->internalRep.listValue.len)) {
if (flags & JIM_ERRMSG) {
Jim_SetResultString(interp,
"list index out of range", -1);
}
return JIM_ERR;
}
- if (index < 0)
- index = listPtr->internalRep.listValue.len + index;
- *objPtrPtr = listPtr->internalRep.listValue.ele[index];
+ if (index_t < 0)
+ index_t = listPtr->internalRep.listValue.len + index_t;
+ *objPtrPtr = listPtr->internalRep.listValue.ele[index_t];
return JIM_OK;
}
-static int ListSetIndex(Jim_Interp *interp, Jim_Obj *listPtr, int index,
+static int ListSetIndex(Jim_Interp *interp, Jim_Obj *listPtr, int index_t,
Jim_Obj *newObjPtr, int flags)
{
if (listPtr->typePtr != &listObjType)
SetListFromAny(interp, listPtr);
- if ((index >= 0 && index >= listPtr->internalRep.listValue.len) ||
- (index < 0 && (-index-1) >= listPtr->internalRep.listValue.len)) {
+ if ((index_t >= 0 && index_t >= listPtr->internalRep.listValue.len) ||
+ (index_t < 0 && (-index_t-1) >= listPtr->internalRep.listValue.len)) {
if (flags & JIM_ERRMSG) {
Jim_SetResultString(interp,
- "list index out of range", -1);
+ "list index_t out of range", -1);
}
return JIM_ERR;
}
- if (index < 0)
- index = listPtr->internalRep.listValue.len + index;
- Jim_DecrRefCount(interp, listPtr->internalRep.listValue.ele[index]);
- listPtr->internalRep.listValue.ele[index] = newObjPtr;
+ if (index_t < 0)
+ index_t = listPtr->internalRep.listValue.len + index_t;
+ Jim_DecrRefCount(interp, listPtr->internalRep.listValue.ele[index_t]);
+ listPtr->internalRep.listValue.ele[index_t] = newObjPtr;
Jim_IncrRefCount(newObjPtr);
return JIM_OK;
}
Jim_Obj *const *indexv, int indexc, Jim_Obj *newObjPtr)
{
Jim_Obj *varObjPtr, *objPtr, *listObjPtr;
- int shared, i, index;
+ int shared, i, index_t;
varObjPtr = objPtr = Jim_GetVariable(interp, varNamePtr, JIM_ERRMSG);
if (objPtr == NULL)
varObjPtr = objPtr = Jim_DuplicateObj(interp, objPtr);
for (i = 0; i < indexc-1; i++) {
listObjPtr = objPtr;
- if (Jim_GetIndex(interp, indexv[i], &index) != JIM_OK)
+ if (Jim_GetIndex(interp, indexv[i], &index_t) != JIM_OK)
goto err;
- if (Jim_ListIndex(interp, listObjPtr, index, &objPtr,
+ if (Jim_ListIndex(interp, listObjPtr, index_t, &objPtr,
JIM_ERRMSG) != JIM_OK) {
goto err;
}
if (Jim_IsShared(objPtr)) {
objPtr = Jim_DuplicateObj(interp, objPtr);
- ListSetIndex(interp, listObjPtr, index, objPtr, JIM_NONE);
+ ListSetIndex(interp, listObjPtr, index_t, objPtr, JIM_NONE);
}
Jim_InvalidateStringRep(listObjPtr);
}
- if (Jim_GetIndex(interp, indexv[indexc-1], &index) != JIM_OK)
+ if (Jim_GetIndex(interp, indexv[indexc-1], &index_t) != JIM_OK)
goto err;
- if (ListSetIndex(interp, objPtr, index, newObjPtr, JIM_ERRMSG) == JIM_ERR)
+ if (ListSetIndex(interp, objPtr, index_t, newObjPtr, JIM_ERRMSG) == JIM_ERR)
goto err;
Jim_InvalidateStringRep(objPtr);
Jim_InvalidateStringRep(varObjPtr);
int SetIndexFromAny(Jim_Interp *interp, Jim_Obj *objPtr)
{
- int index, end = 0;
+ int index_t, end = 0;
const char *str;
/* Get the string representation */
str = Jim_GetString(objPtr, NULL);
/* Try to convert into an index */
if (!strcmp(str, "end")) {
- index = 0;
+ index_t = 0;
end = 1;
} else {
if (!strncmp(str, "end-", 4)) {
str += 4;
end = 1;
}
- if (Jim_StringToIndex(str, &index) != JIM_OK) {
+ if (Jim_StringToIndex(str, &index_t) != JIM_OK) {
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
Jim_AppendStrings(interp, Jim_GetResult(interp),
"bad index \"", Jim_GetString(objPtr, NULL), "\": "
}
}
if (end) {
- if (index < 0)
- index = INT_MAX;
+ if (index_t < 0)
+ index_t = INT_MAX;
else
- index = -(index + 1);
- } else if (index < 0)
- index = -INT_MAX;
+ index_t = -(index_t + 1);
+ } else if (index_t < 0)
+ index_t = -INT_MAX;
/* Free the old internal repr and set the new one. */
Jim_FreeIntRep(interp, objPtr);
objPtr->typePtr = &indexObjType;
- objPtr->internalRep.indexValue = index;
+ objPtr->internalRep.indexValue = index_t;
return JIM_OK;
}
static void ExprMakeLazy(Jim_Interp *interp, ExprByteCode *expr)
{
while (1) {
- int index = -1, leftindex, arity, i, offset;
+ int index_t = -1, leftindex, arity, i, offset;
Jim_ExprOperator *op;
/* Search for || or && */
for (i = 0; i < expr->len; i++) {
if (expr->opcode[i] == JIM_EXPROP_LOGICAND ||
expr->opcode[i] == JIM_EXPROP_LOGICOR) {
- index = i;
+ index_t = i;
break;
}
}
- if (index == -1) return;
+ if (index_t == -1) return;
/* Search for the end of the first operator */
- leftindex = index-1;
+ leftindex = index_t-1;
arity = 1;
while (arity) {
switch (expr->opcode[leftindex]) {
memmove(&expr->obj[leftindex + 2], &expr->obj[leftindex],
sizeof(Jim_Obj*)*(expr->len-leftindex));
expr->len += 2;
- index += 2;
- offset = (index-leftindex)-1;
- Jim_DecrRefCount(interp, expr->obj[index]);
- if (expr->opcode[index] == JIM_EXPROP_LOGICAND) {
+ index_t += 2;
+ offset = (index_t-leftindex)-1;
+ Jim_DecrRefCount(interp, expr->obj[index_t]);
+ if (expr->opcode[index_t] == JIM_EXPROP_LOGICAND) {
expr->opcode[leftindex + 1] = JIM_EXPROP_LOGICAND_LEFT;
- expr->opcode[index] = JIM_EXPROP_LOGICAND_RIGHT;
+ expr->opcode[index_t] = JIM_EXPROP_LOGICAND_RIGHT;
expr->obj[leftindex + 1] = Jim_NewStringObj(interp, "&L", -1);
- expr->obj[index] = Jim_NewStringObj(interp, "&R", -1);
+ expr->obj[index_t] = Jim_NewStringObj(interp, "&R", -1);
} else {
expr->opcode[leftindex + 1] = JIM_EXPROP_LOGICOR_LEFT;
- expr->opcode[index] = JIM_EXPROP_LOGICOR_RIGHT;
+ expr->opcode[index_t] = JIM_EXPROP_LOGICOR_RIGHT;
expr->obj[leftindex + 1] = Jim_NewStringObj(interp, "|L", -1);
- expr->obj[index] = Jim_NewStringObj(interp, "|R", -1);
+ expr->obj[index_t] = Jim_NewStringObj(interp, "|R", -1);
}
expr->opcode[leftindex] = JIM_EXPROP_NUMBER;
expr->obj[leftindex] = Jim_NewIntObj(interp, offset);
- Jim_IncrRefCount(expr->obj[index]);
+ Jim_IncrRefCount(expr->obj[index_t]);
Jim_IncrRefCount(expr->obj[leftindex]);
Jim_IncrRefCount(expr->obj[leftindex + 1]);
}
while (*sdescr) {
if (sdescr[1] == '-' && sdescr[2] != 0) {
/* Handle range definitions */
- int i;
- for (i = sdescr[0]; i <= sdescr[2]; ++i)
- JimSetBit(charset, (char)i);
+ int i_t;
+ for (i_t = sdescr[0]; i_t <= sdescr[2]; ++i_t)
+ JimSetBit(charset, (char)i_t);
sdescr += 3;
} else {
/* Handle verbatim character definitions */
* already scanned thru */
static int ScanOneEntry(Jim_Interp *interp, const char *str, long pos,
- ScanFmtStringObj *fmtObj, long index, Jim_Obj **valObjPtr)
+ ScanFmtStringObj *fmtObj, long index_t, Jim_Obj **valObjPtr)
{
# define MAX_SIZE (sizeof(jim_wide) > sizeof(double) \
? sizeof(jim_wide) \
char buffer[MAX_SIZE];
char *value = buffer;
const char *tok;
- const ScanFmtPartDescr *descr = &fmtObj->descr[index];
+ const ScanFmtPartDescr *descr = &fmtObj->descr[index_t];
size_t sLen = strlen(&str[pos]), scanned = 0;
size_t anchor = pos;
int i;
{
Jim_Obj *objPtr, *listObjPtr;
int i;
- int index;
+ int index_t;
if (argc < 3) {
Jim_WrongNumArgs(interp, 1, argv, "list index ?...?");
Jim_IncrRefCount(objPtr);
for (i = 2; i < argc; i++) {
listObjPtr = objPtr;
- if (Jim_GetIndex(interp, argv[i], &index) != JIM_OK) {
+ if (Jim_GetIndex(interp, argv[i], &index_t) != JIM_OK) {
Jim_DecrRefCount(interp, listObjPtr);
return JIM_ERR;
}
- if (Jim_ListIndex(interp, listObjPtr, index, &objPtr,
+ if (Jim_ListIndex(interp, listObjPtr, index_t, &objPtr,
JIM_NONE) != JIM_OK) {
/* Returns an empty object if the index
* is out of range. */
static int Jim_LinsertCoreCommand(Jim_Interp *interp, int argc,
Jim_Obj *const *argv)
{
- int index, len;
+ int index_t, len;
Jim_Obj *listPtr;
if (argc < 4) {
listPtr = argv[1];
if (Jim_IsShared(listPtr))
listPtr = Jim_DuplicateObj(interp, listPtr);
- if (Jim_GetIndex(interp, argv[2], &index) != JIM_OK)
+ if (Jim_GetIndex(interp, argv[2], &index_t) != JIM_OK)
goto err;
Jim_ListLength(interp, listPtr, &len);
- if (index >= len)
- index = len;
- else if (index < 0)
- index = len + index + 1;
- Jim_ListInsertElements(interp, listPtr, index, argc-3, &argv[3]);
+ if (index_t >= len)
+ index_t = len;
+ else if (index_t < 0)
+ index_t = len + index_t + 1;
+ Jim_ListInsertElements(interp, listPtr, index_t, argc-3, &argv[3]);
Jim_SetResult(interp, listPtr);
return JIM_OK;
err:
Jim_SetResult(interp, objPtr);
return JIM_OK;
} else if (option == OPT_INDEX) {
- int index, len;
+ int index_t, len;
const char *str;
if (argc != 4) {
Jim_WrongNumArgs(interp, 2, argv, "string index");
return JIM_ERR;
}
- if (Jim_GetIndex(interp, argv[3], &index) != JIM_OK)
+ if (Jim_GetIndex(interp, argv[3], &index_t) != JIM_OK)
return JIM_ERR;
str = Jim_GetString(argv[2], &len);
- if (index != INT_MIN && index != INT_MAX)
- index = JimRelToAbsIndex(len, index);
- if (index < 0 || index >= len) {
+ if (index_t != INT_MIN && index_t != INT_MAX)
+ index_t = JimRelToAbsIndex(len, index_t);
+ if (index_t < 0 || index_t >= len) {
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
return JIM_OK;
} else {
- Jim_SetResult(interp, Jim_NewStringObj(interp, str + index, 1));
+ Jim_SetResult(interp, Jim_NewStringObj(interp, str + index_t, 1));
return JIM_OK;
}
} else if (option == OPT_FIRST) {
- int index = 0, l1, l2;
+ int index_t = 0, l1, l2;
const char *s1, *s2;
if (argc != 4 && argc != 5) {
s1 = Jim_GetString(argv[2], &l1);
s2 = Jim_GetString(argv[3], &l2);
if (argc == 5) {
- if (Jim_GetIndex(interp, argv[4], &index) != JIM_OK)
+ if (Jim_GetIndex(interp, argv[4], &index_t) != JIM_OK)
return JIM_ERR;
- index = JimRelToAbsIndex(l2, index);
+ index_t = JimRelToAbsIndex(l2, index_t);
}
Jim_SetResult(interp, Jim_NewIntObj(interp,
- JimStringFirst(s1, l1, s2, l2, index)));
+ JimStringFirst(s1, l1, s2, l2, index_t)));
return JIM_OK;
} else if (option == OPT_TOLOWER) {
if (argc != 3) {