* digit. For instance, if the range for quads is
* [-9223372036854775808..9223372036854775807] and the input base
* is 10, cutoff will be set to 922337203685477580 and cutlim to
* digit. For instance, if the range for quads is
* [-9223372036854775808..9223372036854775807] and the input base
* is 10, cutoff will be set to 922337203685477580 and cutlim to
* accumulated a value > 922337203685477580, or equal but the
* next digit is > 7 (or 8), the number is too big, and we will
* return a range error.
* accumulated a value > 922337203685477580, or equal but the
* next digit is > 7 (or 8), the number is too big, and we will
* return a range error.
* in length, this allows to avoid to check every object with a string
* repr < 32, and usually there are many of this objects. */
* in length, this allows to avoid to check every object with a string
* repr < 32, and usually there are many of this objects. */
void *Jim_Alloc(int size)
{
/* We allocate zero length arrayes, etc. to use a single orthogonal codepath */
void *Jim_Alloc(int size)
{
/* We allocate zero length arrayes, etc. to use a single orthogonal codepath */
void *Jim_Realloc(void *ptr, int size)
{
/* We allocate zero length arrayes, etc. to use a single orthogonal codepath */
void *Jim_Realloc(void *ptr, int size)
{
/* We allocate zero length arrayes, etc. to use a single orthogonal codepath */
void *p = realloc(ptr, size);
if (p == NULL)
Jim_Panic(NULL,"realloc: Out of memory");
void *p = realloc(ptr, size);
if (p == NULL)
Jim_Panic(NULL,"realloc: Out of memory");
if (neededLen > stack->maxlen) {
stack->maxlen = neededLen*2;
stack->vector = Jim_Realloc(stack->vector, sizeof(void*)*stack->maxlen);
if (neededLen > stack->maxlen) {
stack->maxlen = neededLen*2;
stack->vector = Jim_Realloc(stack->vector, sizeof(void*)*stack->maxlen);
case 'a': *p++ = 0x7; i++; break;
case 'b': *p++ = 0x8; i++; break;
case 'f': *p++ = 0xc; i++; break;
case 'a': *p++ = 0x7; i++; break;
case 'b': *p++ = 0x8; i++; break;
case 'f': *p++ = 0xc; i++; break;
if (JimParserTtype(pc) != JIM_TT_ESC) {
/* No escape conversion needed? Just copy it. */
memcpy(token, start, len);
if (JimParserTtype(pc) != JIM_TT_ESC) {
/* No escape conversion needed? Just copy it. */
memcpy(token, start, len);
objPtr->length = length;
memcpy(objPtr->bytes, bytes, length);
objPtr->bytes[length] = '\0';
objPtr->length = length;
memcpy(objPtr->bytes, bytes, length);
objPtr->bytes[length] = '\0';
objPtr->length = len;
memcpy(objPtr->bytes, s, len);
objPtr->bytes[len] = '\0';
objPtr->length = len;
memcpy(objPtr->bytes, s, len);
objPtr->bytes[len] = '\0';
if (objPtr->internalRep.strValue.maxLength < needlen ||
objPtr->internalRep.strValue.maxLength == 0) {
if (objPtr->bytes == JimEmptyStringRep) {
if (objPtr->internalRep.strValue.maxLength < needlen ||
objPtr->internalRep.strValue.maxLength == 0) {
if (objPtr->bytes == JimEmptyStringRep) {
}
objPtr->internalRep.strValue.maxLength = needlen*2;
}
memcpy(objPtr->bytes + objPtr->length, str, len);
}
objPtr->internalRep.strValue.maxLength = needlen*2;
}
memcpy(objPtr->bytes + objPtr->length, str, len);
first = JimRelToAbsIndex(len, first);
last = JimRelToAbsIndex(len, last);
JimRelToAbsRange(len, first, last, &first, &last, &rangeLen);
first = JimRelToAbsIndex(len, first);
last = JimRelToAbsIndex(len, last);
JimRelToAbsRange(len, first, last, &first, &last, &rangeLen);
for (i = 0; i < strObjPtr->length; i++)
buf[i] = tolower(buf[i]);
return Jim_NewStringObjNoAlloc(interp, buf, strObjPtr->length);
for (i = 0; i < strObjPtr->length; i++)
buf[i] = tolower(buf[i]);
return Jim_NewStringObjNoAlloc(interp, buf, strObjPtr->length);
for (i = 0; i < strObjPtr->length; i++)
buf[i] = toupper(buf[i]);
return Jim_NewStringObjNoAlloc(interp, buf, strObjPtr->length);
for (i = 0; i < strObjPtr->length; i++)
buf[i] = toupper(buf[i]);
return Jim_NewStringObjNoAlloc(interp, buf, strObjPtr->length);
Jim_Obj *Jim_FormatString(Jim_Interp *interp, Jim_Obj *fmtObjPtr,
int objc, Jim_Obj *const *objv)
{
Jim_Obj *Jim_FormatString(Jim_Interp *interp, Jim_Obj *fmtObjPtr,
int objc, Jim_Obj *const *objv)
{
- char *sprintf_buf=malloc(JIM_MAX_FMT);
- Jim_Obj *t=Jim_FormatString_Inner(interp, fmtObjPtr, objc, objv, sprintf_buf);
+ char *sprintf_buf = malloc(JIM_MAX_FMT);
+ Jim_Obj *t = Jim_FormatString_Inner(interp, fmtObjPtr, objc, objv, sprintf_buf);
memcpy(tablePtrSorted, tablePtr, sizeof(char*)*count);
qsort(tablePtrSorted, count, sizeof(char*), qsortCompareStringPointers);
for (i = 0; i < count; i++) {
memcpy(tablePtrSorted, tablePtr, sizeof(char*)*count);
qsort(tablePtrSorted, count, sizeof(char*), qsortCompareStringPointers);
for (i = 0; i < count; i++) {
Jim_AppendString(interp, Jim_GetResult(interp), "or ", -1);
Jim_AppendString(interp, Jim_GetResult(interp),
tablePtrSorted[i], -1);
Jim_AppendString(interp, Jim_GetResult(interp), "or ", -1);
Jim_AppendString(interp, Jim_GetResult(interp),
tablePtrSorted[i], -1);
Jim_AppendString(interp, Jim_GetResult(interp), ", ", -1);
}
Jim_Free(tablePtrSorted);
Jim_AppendString(interp, Jim_GetResult(interp), ", ", -1);
}
Jim_Free(tablePtrSorted);
script->token = Jim_Realloc(script->token,
sizeof(ScriptToken)*script->len);
/* Initialize the new token */
script->token = Jim_Realloc(script->token,
sizeof(ScriptToken)*script->len);
/* Initialize the new token */
token->type = type;
/* Every object is intially as a string, but the
* internal type may be specialized during execution of the
token->type = type;
/* Every object is intially as a string, but the
* internal type may be specialized during execution of the
(!strcmp(token[end].objPtr->bytes, "expand") ||
!strcmp(token[end].objPtr->bytes, "*")))
expand++;
(!strcmp(token[end].objPtr->bytes, "expand") ||
!strcmp(token[end].objPtr->bytes, "*")))
expand++;
/* Add the 'number of arguments' info into cmdstruct.
* Negative value if there is list expansion involved. */
if (expand)
/* Add the 'number of arguments' info into cmdstruct.
* Negative value if there is list expansion involved. */
if (expand)
Jim_Reference *refPtr;
refPtr = objPtr->internalRep.refValue.refPtr;
len = JimFormatReference(buf, refPtr, objPtr->internalRep.refValue.id);
Jim_Reference *refPtr;
refPtr = objPtr->internalRep.refValue.refPtr;
len = JimFormatReference(buf, refPtr, objPtr->internalRep.refValue.id);
- objPtr->bytes = Jim_Alloc(len+1);
- memcpy(objPtr->bytes, buf, len+1);
+ objPtr->bytes = Jim_Alloc(len + 1);
+ memcpy(objPtr->bytes, buf, len + 1);
/* <reference.<1234567>.%020> */
if (memcmp(start, "<reference.<", 12) != 0) goto badformat;
/* <reference.<1234567>.%020> */
if (memcmp(start, "<reference.<", 12) != 0) goto badformat;
/* The tag can't contain chars other than a-zA-Z0-9 + '_'. */
for (i = 0; i < JIM_REFERENCE_TAGLEN; i++) {
/* The tag can't contain chars other than a-zA-Z0-9 + '_'. */
for (i = 0; i < JIM_REFERENCE_TAGLEN; i++) {
refId[20] = '\0';
/* Try to convert the ID into a jim_wide */
if (Jim_StringToWide(refId, &wideValue, 10) != JIM_OK) goto badformat;
refId[20] = '\0';
/* Try to convert the ID into a jim_wide */
if (Jim_StringToWide(refId, &wideValue, 10) != JIM_OK) goto badformat;
Jim_Obj *objv[3], *oldResult;
JimFormatReference(refstr, refPtr, *refId);
Jim_Obj *objv[3], *oldResult;
JimFormatReference(refstr, refPtr, *refId);
- objPtr->bytes = Jim_Alloc(len+1);
- memcpy(objPtr->bytes, buf, len+1);
+ objPtr->bytes = Jim_Alloc(len + 1);
+ memcpy(objPtr->bytes, buf, len + 1);
- objPtr->bytes = Jim_Alloc(len+1);
- memcpy(objPtr->bytes, buf, len+1);
+ objPtr->bytes = Jim_Alloc(len + 1);
+ memcpy(objPtr->bytes, buf, len + 1);
* using backslash to quote special chars. */
char *BackslashQuoteString(const char *s, int len, int *qlenPtr)
{
* using backslash to quote special chars. */
char *BackslashQuoteString(const char *s, int len, int *qlenPtr)
{
quotingType[i] = ListElementQuotingType(strRep, len);
switch (quotingType[i]) {
case JIM_ELESTR_SIMPLE: bufLen += len; break;
quotingType[i] = ListElementQuotingType(strRep, len);
switch (quotingType[i]) {
case JIM_ELESTR_SIMPLE: bufLen += len; break;
- memmove(point+elemc, point, (currentLen-index) * sizeof(Jim_Obj*));
- for (i=0; i < elemc; ++i) {
+ memmove(point + elemc, point, (currentLen-index) * sizeof(Jim_Obj*));
+ for (i = 0; i < elemc; ++i) {
Jim_DecrRefCount(interp, listPtr->internalRep.listValue.ele[index]);
listPtr->internalRep.listValue.ele[index] = newObjPtr;
Jim_IncrRefCount(newObjPtr);
Jim_DecrRefCount(interp, listPtr->internalRep.listValue.ele[index]);
listPtr->internalRep.listValue.ele[index] = newObjPtr;
Jim_IncrRefCount(newObjPtr);
for (i = 0; i < objc; i++) {
const char *s = Jim_GetString(objv[i], &objLen);
while (objLen && (*s == ' ' || *s == '\t' || *s == '\n'))
for (i = 0; i < objc; i++) {
const char *s = Jim_GetString(objv[i], &objLen);
while (objLen && (*s == ' ' || *s == '\t' || *s == '\n'))
last = JimRelToAbsIndex(len, last);
JimRelToAbsRange(len, first, last, &first, &last, &rangeLen);
return Jim_NewListObj(interp,
last = JimRelToAbsIndex(len, last);
JimRelToAbsRange(len, first, last, &first, &last, &rangeLen);
return Jim_NewListObj(interp,
quotingType[i] = ListElementQuotingType(strRep, len);
switch (quotingType[i]) {
case JIM_ELESTR_SIMPLE: bufLen += len; break;
quotingType[i] = ListElementQuotingType(strRep, len);
switch (quotingType[i]) {
case JIM_ELESTR_SIMPLE: bufLen += len; break;
objPtr->internalRep.ptr = Jim_Alloc(sizeof(Jim_HashTable));
Jim_InitHashTable(objPtr->internalRep.ptr, &JimDictHashTableType, interp);
for (i = 0; i < len; i += 2)
objPtr->internalRep.ptr = Jim_Alloc(sizeof(Jim_HashTable));
Jim_InitHashTable(objPtr->internalRep.ptr, &JimDictHashTableType, interp);
for (i = 0; i < len; i += 2)
- DictAddElement(interp, objPtr, elements[i], elements[i+1]);
+ DictAddElement(interp, objPtr, elements[i], elements[i + 1]);
if (objPtr->internalRep.indexValue >= 0)
len = sprintf(buf, "%d", objPtr->internalRep.indexValue);
else if (objPtr->internalRep.indexValue == -1)
len = sprintf(buf, "end");
else {
if (objPtr->internalRep.indexValue >= 0)
len = sprintf(buf, "%d", objPtr->internalRep.indexValue);
else if (objPtr->internalRep.indexValue == -1)
len = sprintf(buf, "end");
else {
- objPtr->bytes = Jim_Alloc(len+1);
- memcpy(objPtr->bytes, buf, len+1);
+ objPtr->bytes = Jim_Alloc(len + 1);
+ memcpy(objPtr->bytes, buf, len + 1);
static void ExprObjAddInstr(Jim_Interp *interp, ExprByteCode *expr,
int opcode, char *str, int len)
{
static void ExprObjAddInstr(Jim_Interp *interp, ExprByteCode *expr,
int opcode, char *str, int len)
{
- expr->opcode = Jim_Realloc(expr->opcode, sizeof(int)*(expr->len+1));
- expr->obj = Jim_Realloc(expr->obj, sizeof(Jim_Obj*)*(expr->len+1));
+ expr->opcode = Jim_Realloc(expr->opcode, sizeof(int)*(expr->len + 1));
+ expr->obj = Jim_Realloc(expr->obj, sizeof(Jim_Obj*)*(expr->len + 1));
expr->opcode[expr->len] = opcode;
expr->obj[expr->len] = Jim_NewStringObjNoAlloc(interp, str, len);
Jim_IncrRefCount(expr->obj[expr->len]);
expr->opcode[expr->len] = opcode;
expr->obj[expr->len] = Jim_NewStringObjNoAlloc(interp, str, len);
Jim_IncrRefCount(expr->obj[expr->len]);
- expr->opcode = Jim_Realloc(expr->opcode, sizeof(int)*(expr->len+2));
- expr->obj = Jim_Realloc(expr->obj, sizeof(Jim_Obj*)*(expr->len+2));
- memmove(&expr->opcode[leftindex+2], &expr->opcode[leftindex],
+ expr->opcode = Jim_Realloc(expr->opcode, sizeof(int)*(expr->len + 2));
+ expr->obj = Jim_Realloc(expr->obj, sizeof(Jim_Obj*)*(expr->len + 2));
+ memmove(&expr->opcode[leftindex + 2], &expr->opcode[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) {
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) {
expr->obj[index] = 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[leftindex]);
expr->obj[index] = 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[leftindex]);
Jim_DecrRefCount(interp, A);
Jim_DecrRefCount(interp, B);
switch (expr->opcode[i]) {
Jim_DecrRefCount(interp, A);
Jim_DecrRefCount(interp, B);
switch (expr->opcode[i]) {
case JIM_EXPROP_NUMNE: wC = wA != wB; break;
case JIM_EXPROP_BITAND: wC = wA&wB; break;
case JIM_EXPROP_BITXOR: wC = wA^wB; break;
case JIM_EXPROP_NUMNE: wC = wA != wB; break;
case JIM_EXPROP_BITAND: wC = wA&wB; break;
case JIM_EXPROP_BITXOR: wC = wA^wB; break;
case JIM_EXPROP_POW: wC = JimPowWide(wA,wB); break;
case JIM_EXPROP_LOGICAND_LEFT:
if (wA == 0) {
case JIM_EXPROP_POW: wC = JimPowWide(wA,wB); break;
case JIM_EXPROP_LOGICAND_LEFT:
if (wA == 0) {
wC = _rotl(uA,(unsigned long)wB);
#else
const unsigned int S = sizeof(unsigned long) * 8;
wC = _rotl(uA,(unsigned long)wB);
#else
const unsigned int S = sizeof(unsigned long) * 8;
wC = _rotr(uA,(unsigned long)wB);
#else
const unsigned int S = sizeof(unsigned long) * 8;
wC = _rotr(uA,(unsigned long)wB);
#else
const unsigned int S = sizeof(unsigned long) * 8;
Jim_FreeIntRep(interp, objPtr);
/* Count how many conversions could take place maximally */
Jim_FreeIntRep(interp, objPtr);
/* Count how many conversions could take place maximally */
memset(fmtObj, 0, approxSize);
fmtObj->size = approxSize;
fmtObj->maxPos = 0;
memset(fmtObj, 0, approxSize);
fmtObj->size = approxSize;
fmtObj->maxPos = 0;
fmtObj->stringRep = fmtObj->scratch + maxFmtLen + 3 + 1;
memcpy(fmtObj->stringRep, fmt, maxFmtLen);
buffer = fmtObj->stringRep + maxFmtLen + 1;
objPtr->internalRep.ptr = fmtObj;
objPtr->typePtr = &scanFmtStringObjType;
fmtObj->stringRep = fmtObj->scratch + maxFmtLen + 3 + 1;
memcpy(fmtObj->stringRep, fmt, maxFmtLen);
buffer = fmtObj->stringRep + maxFmtLen + 1;
objPtr->internalRep.ptr = fmtObj;
objPtr->typePtr = &scanFmtStringObjType;
if (fmtObj->descr[prev].pos == -1) continue;
if (fmtObj->descr[prev].pos == descr->pos) {
fmtObj->error = "same \"%n$\" conversion specifier "
if (fmtObj->descr[prev].pos == -1) continue;
if (fmtObj->descr[prev].pos == descr->pos) {
fmtObj->error = "same \"%n$\" conversion specifier "
- char charset[256/8+1]; /* A Charset may contain max 256 chars */
- char *buffer = Jim_Alloc(strlen(str)+1), *anchor = buffer;
+ char charset[256/8 + 1]; /* A Charset may contain max 256 chars */
+ char *buffer = Jim_Alloc(strlen(str) + 1), *anchor = buffer;
/* First init charset to nothing or all, depending if a specified
* or an unspecified string has to be parsed */
/* First init charset to nothing or all, depending if a specified
* or an unspecified string has to be parsed */
charset[i] = ~charset[i];
}
/* And after all the mess above, the real work begin ... */
charset[i] = ~charset[i];
}
/* And after all the mess above, the real work begin ... */
if (descr->prefix) {
/* There was a prefix given before the conversion, skip it and adjust
* the string-to-be-parsed accordingly */
if (descr->prefix) {
/* There was a prefix given before the conversion, skip it and adjust
* the string-to-be-parsed accordingly */
/* If prefix require, skip WS */
if (isspace((int)descr->prefix[i]))
while (str[pos] && isspace((int)str[pos])) ++pos;
/* If prefix require, skip WS */
if (isspace((int)descr->prefix[i]))
while (str[pos] && isspace((int)str[pos])) ++pos;
/* Create a list and fill it with empty strings up to max specified XPG3 */
resultList = Jim_NewListObj(interp, 0, 0);
if (fmtObj->maxPos > 0) {
/* Create a list and fill it with empty strings up to max specified XPG3 */
resultList = Jim_NewListObj(interp, 0, 0);
if (fmtObj->maxPos > 0) {
Jim_ListAppendElement(interp, resultList, emptyStr);
JimListGetElements(interp, resultList, &resultc, &resultVec);
}
/* Now handle every partial format description */
Jim_ListAppendElement(interp, resultList, emptyStr);
JimListGetElements(interp, resultList, &resultc, &resultVec);
}
/* Now handle every partial format description */
ScanFmtPartDescr *descr = &(fmtObj->descr[i]);
Jim_Obj *value = 0;
/* Only last type may be "literal" w/o conversion - skip it! */
ScanFmtPartDescr *descr = &(fmtObj->descr[i]);
Jim_Obj *value = 0;
/* Only last type may be "literal" w/o conversion - skip it! */
prng = interp->prngState;
/* generates 'len' bytes of pseudo-random numbers */
for (x = 0; x < len; x++) {
prng = interp->prngState;
/* generates 'len' bytes of pseudo-random numbers */
for (x = 0; x < len; x++) {
si = prng->sbox[prng->i];
prng->j = (prng->j + si) & 0xff;
sj = prng->sbox[prng->j];
prng->sbox[prng->i] = sj;
prng->sbox[prng->j] = si;
si = prng->sbox[prng->i];
prng->j = (prng->j + si) & 0xff;
sj = prng->sbox[prng->j];
prng->sbox[prng->i] = sj;
prng->sbox[prng->j] = si;
&prefixObjPtr, JIM_NONE) != JIM_OK)
continue;
prefix = Jim_GetString(prefixObjPtr, &prefixlen);
&prefixObjPtr, JIM_NONE) != JIM_OK)
continue;
prefix = Jim_GetString(prefixObjPtr, &prefixlen);
* to the integer with value 102 */
static int JimPackageVersionToInt(Jim_Interp *interp, const char *v,
int *intPtr, int flags)
* to the integer with value 102 */
static int JimPackageVersionToInt(Jim_Interp *interp, const char *v,
int *intPtr, int flags)
if (Jim_StringToWide(majorStr, &major, 10) != JIM_OK ||
Jim_StringToWide(minorStr, &minor, 10) != JIM_OK)
goto badfmt;
if (Jim_StringToWide(majorStr, &major, 10) != JIM_OK ||
Jim_StringToWide(minorStr, &minor, 10) != JIM_OK)
goto badfmt;
static int JimPackageMatchVersion(int needed, int actual, int flags)
{
if (needed == JIM_PKG_ANY_VERSION) return 1;
static int JimPackageMatchVersion(int needed, int actual, int flags)
{
if (needed == JIM_PKG_ANY_VERSION) return 1;
int fileNameLen = strlen(fileName);
if (strncmp(fileName, "jim-", 4) == 0 &&
int fileNameLen = strlen(fileName);
if (strncmp(fileName, "jim-", 4) == 0 &&
- strncmp(fileName+4, pkgName, pkgNameLen) == 0 &&
- *(fileName+4+pkgNameLen) == '-' &&
+ strncmp(fileName + 4, pkgName, pkgNameLen) == 0 &&
+ *(fileName + 4+pkgNameLen) == '-' &&
- (strncmp(fileName+fileNameLen-4, ".tcl", 4) == 0 ||
- strncmp(fileName+fileNameLen-4, ".dll", 4) == 0 ||
- strncmp(fileName+fileNameLen-3, ".so", 3) == 0))
+ (strncmp(fileName + fileNameLen-4, ".tcl", 4) == 0 ||
+ strncmp(fileName + fileNameLen-4, ".dll", 4) == 0 ||
+ strncmp(fileName + fileNameLen-3, ".so", 3) == 0))
ver[verLen] = '\0';
if (JimPackageVersionToInt(interp, ver, &fileVer, JIM_NONE)
!= JIM_OK) continue;
ver[verLen] = '\0';
if (JimPackageVersionToInt(interp, ver, &fileVer, JIM_NONE)
!= JIM_OK) continue;
sprintf(bestPackage, "%s/%s", buf, fileName);
}
}
sprintf(bestPackage, "%s/%s", buf, fileName);
}
}
* the "unknown" string, it is used in order to
* avoid to lookup the unknown command every time
* but instread to cache the result. */
* the "unknown" string, it is used in order to
* avoid to lookup the unknown command every time
* but instread to cache the result. */
/* Make a copy of the arguments vector, but shifted on
* the right of one position. The command name of the
* command will be instead the first argument of the
* [unknonw] call. */
/* Make a copy of the arguments vector, but shifted on
* the right of one position. The command name of the
* command will be instead the first argument of the
* [unknonw] call. */
objPtr->length = totlen;
for (i = 0; i < tokens; i++) {
memcpy(s, intv[i]->bytes, intv[i]->length);
objPtr->length = totlen;
for (i = 0; i < tokens; i++) {
memcpy(s, intv[i]->bytes, intv[i]->length);
/* refcount of objPtr not incremented because
* we are actually transfering a reference from
* the old 'argv' to the expanded one. */
/* refcount of objPtr not incremented because
* we are actually transfering a reference from
* the old 'argv' to the expanded one. */
for (i = 0; i < len; i++) {
(*argv)[*argcPtr] = objPtr->internalRep.listValue.ele[i];
Jim_IncrRefCount(objPtr->internalRep.listValue.ele[i]);
for (i = 0; i < len; i++) {
(*argv)[*argcPtr] = objPtr->internalRep.listValue.ele[i];
Jim_IncrRefCount(objPtr->internalRep.listValue.ele[i]);
/* For interpolation we call an helper
* function doing the work for us. */
if ((retcode = Jim_InterpolateTokens(interp,
/* For interpolation we call an helper
* function doing the work for us. */
if ((retcode = Jim_InterpolateTokens(interp,
Jim_ListIndex(interp, argObjPtr, 1, &valueObjPtr, JIM_NONE);
}
else {
Jim_ListIndex(interp, argObjPtr, 1, &valueObjPtr, JIM_NONE);
}
else {
Jim_ListIndex(interp, cmd->argListObjPtr, num_args, &objPtr, JIM_NONE);
Jim_SetVariable(interp, objPtr, listObjPtr);
}
Jim_ListIndex(interp, cmd->argListObjPtr, num_args, &objPtr, JIM_NONE);
Jim_SetVariable(interp, objPtr, listObjPtr);
}
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
if (!getcwd( cwd, cwd_len )) strcpy(cwd, "unknown");
Jim_AppendStrings(interp, Jim_GetResult(interp),
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
if (!getcwd( cwd, cwd_len )) strcpy(cwd, "unknown");
Jim_AppendStrings(interp, Jim_GetResult(interp),
prg = Jim_Realloc(prg, maxlen);
}
/* do not use Jim_fread() - this is really a file */
prg = Jim_Realloc(prg, maxlen);
}
/* do not use Jim_fread() - this is really a file */
- if ((nread = fread(prg+totread, 1, buflen, fp)) == 0) break;
+ if ((nread = fread(prg + totread, 1, buflen, fp)) == 0) break;
Jim_AppendString(interp, objPtr, "wrong # args: should be \"", -1);
for (i = 0; i < argc; i++) {
Jim_AppendObj(interp, objPtr, argv[i]);
Jim_AppendString(interp, objPtr, "wrong # args: should be \"", -1);
for (i = 0; i < argc; i++) {
Jim_AppendObj(interp, objPtr, argv[i]);
Jim_AppendString(interp, objPtr, " ", 1);
}
Jim_AppendString(interp, objPtr, msg, -1);
Jim_AppendString(interp, objPtr, " ", 1);
}
Jim_AppendString(interp, objPtr, msg, -1);
if (Jim_GetWide(interp, intObjPtr, &wideValue) != JIM_OK)
return JIM_ERR;
if (Jim_IsShared(intObjPtr)) {
if (Jim_GetWide(interp, intObjPtr, &wideValue) != JIM_OK)
return JIM_ERR;
if (Jim_IsShared(intObjPtr)) {
if (Jim_SetVariable(interp, argv[1], intObjPtr) != JIM_OK) {
Jim_FreeNewObj(interp, intObjPtr);
return JIM_ERR;
}
} else {
if (Jim_SetVariable(interp, argv[1], intObjPtr) != JIM_OK) {
Jim_FreeNewObj(interp, intObjPtr);
return JIM_ERR;
}
} else {
/* The following step is required in order to invalidate the
* string repr of "FOO" if the var name is on the form of "FOO(IDX)" */
if (Jim_SetVariable(interp, argv[1], intObjPtr) != JIM_OK) {
/* The following step is required in order to invalidate the
* string repr of "FOO" if the var name is on the form of "FOO(IDX)" */
if (Jim_SetVariable(interp, argv[1], intObjPtr) != JIM_OK) {
if (Jim_SetVariable(interp, varNamePtr, auxObjPtr) == JIM_ERR) {
if (stopVarNamePtr)
Jim_DecrRefCount(interp, stopVarNamePtr);
if (Jim_SetVariable(interp, varNamePtr, auxObjPtr) == JIM_ERR) {
if (stopVarNamePtr)
Jim_DecrRefCount(interp, stopVarNamePtr);
/* Initialize iterators and remember max nbr elements each list */
memset(listsIdx, 0, nbrOfLists * sizeof(int));
/* Remember lengths of all lists and calculate how much rounds to loop */
/* Initialize iterators and remember max nbr elements each list */
memset(listsIdx, 0, nbrOfLists * sizeof(int));
/* Remember lengths of all lists and calculate how much rounds to loop */
- Jim_ListLength(interp, argv[i+1], &listsEnd[i]);
- Jim_ListLength(interp, argv[i+2], &listsEnd[i+1]);
+ Jim_ListLength(interp, argv[i + 1], &listsEnd[i]);
+ Jim_ListLength(interp, argv[i + 2], &listsEnd[i + 1]);
int varIdx = 0, var = i * 2;
while (varIdx < listsEnd[var]) {
Jim_Obj *varName, *ele;
int lst = i * 2 + 1;
int varIdx = 0, var = i * 2;
while (varIdx < listsEnd[var]) {
Jim_Obj *varName, *ele;
int lst = i * 2 + 1;
- if (Jim_ListIndex(interp, argv[var+1], varIdx, &varName, JIM_ERRMSG)
+ if (Jim_ListIndex(interp, argv[var + 1], varIdx, &varName, JIM_ERRMSG)
- if (Jim_ListIndex(interp, argv[lst+1], listsIdx[i], &ele, JIM_ERRMSG)
+ if (Jim_ListIndex(interp, argv[lst + 1], listsIdx[i], &ele, JIM_ERRMSG)
- int retcode = JIM_ERR, matchOpt = SWITCH_EXACT, opt=1, patCount, i;
+ int retcode = JIM_ERR, matchOpt = SWITCH_EXACT, opt = 1, patCount, i;
Jim_Obj *command = 0, *const *caseList = 0, *strObj;
Jim_Obj *script = 0;
if (argc < 3) goto wrongnumargs;
Jim_Obj *command = 0, *const *caseList = 0, *strObj;
Jim_Obj *script = 0;
if (argc < 3) goto wrongnumargs;
const char *option = Jim_GetString(argv[opt], 0);
if (*option != '-') break;
else if (strncmp(option, "--", 2) == 0) { ++opt; break; }
const char *option = Jim_GetString(argv[opt], 0);
if (*option != '-') break;
else if (strncmp(option, "--", 2) == 0) { ++opt; break; }
Jim_Obj *patObj = caseList[i];
if (!Jim_CompareStringImmediate(interp, patObj, "default")
|| i < (patCount-2)) {
switch (matchOpt) {
case SWITCH_EXACT:
if (Jim_StringEqObj(strObj, patObj, 0))
Jim_Obj *patObj = caseList[i];
if (!Jim_CompareStringImmediate(interp, patObj, "default")
|| i < (patCount-2)) {
switch (matchOpt) {
case SWITCH_EXACT:
if (Jim_StringEqObj(strObj, patObj, 0))
if (script && Jim_CompareStringImmediate(interp, script, "-")) {
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
Jim_AppendStrings(interp, Jim_GetResult(interp),
if (script && Jim_CompareStringImmediate(interp, script, "-")) {
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
Jim_AppendStrings(interp, Jim_GetResult(interp),
- if (Jim_SetListIndex(interp, argv[1], argv+2, argc-3, argv[argc-1])
+ if (Jim_SetListIndex(interp, argv[1], argv + 2, argc-3, argv[argc-1])
Jim_IncrRefCount(objPtr);
retcode = Jim_EvalObj(interp, objPtr);
Jim_DecrRefCount(interp, objPtr);
Jim_IncrRefCount(objPtr);
retcode = Jim_EvalObj(interp, objPtr);
Jim_DecrRefCount(interp, objPtr);
Jim_IncrRefCount(objPtr);
retcode = Jim_EvalObj(interp, objPtr);
Jim_DecrRefCount(interp, objPtr);
Jim_IncrRefCount(objPtr);
retcode = Jim_EvalObj(interp, objPtr);
Jim_DecrRefCount(interp, objPtr);
Jim_IncrRefCount(objPtr);
retcode = Jim_EvalExpression(interp, objPtr, &exprResultPtr);
Jim_DecrRefCount(interp, objPtr);
Jim_IncrRefCount(objPtr);
retcode = Jim_EvalExpression(interp, objPtr, &exprResultPtr);
Jim_DecrRefCount(interp, objPtr);
- Jim_SetResult(interp, Jim_ConcatObj(interp, argc-1, argv+1));
+ Jim_SetResult(interp, Jim_ConcatObj(interp, argc-1, argv + 1));
- if (Jim_SetVariableLink(interp, argv[i+1], argv[i],
+ if (Jim_SetVariableLink(interp, argv[i + 1], argv[i],
Jim_ListIndex(interp, mapListObjPtr, i*2, &eleObjPtr, JIM_NONE);
key[i] = Jim_GetString(eleObjPtr, &keyLen[i]);
Jim_ListIndex(interp, mapListObjPtr, i*2, &eleObjPtr, JIM_NONE);
key[i] = Jim_GetString(eleObjPtr, &keyLen[i]);
- Jim_ListIndex(interp, mapListObjPtr, i*2+1, &eleObjPtr, JIM_NONE);
+ Jim_ListIndex(interp, mapListObjPtr, i*2 + 1, &eleObjPtr, JIM_NONE);
- Jim_SetResult(interp, Jim_NewStringObj(interp, str+index, 1));
+ Jim_SetResult(interp, Jim_NewStringObj(interp, str + index, 1));
Jim_WrongNumArgs(interp, 2, argv, "?key value ...?");
return JIM_ERR;
}
Jim_WrongNumArgs(interp, 2, argv, "?key value ...?");
return JIM_ERR;
}
Jim_SetResult(interp, objPtr);
return JIM_OK;
} else if (option == OPT_GET) {
Jim_Obj *objPtr;
Jim_SetResult(interp, objPtr);
return JIM_OK;
} else if (option == OPT_GET) {
Jim_Obj *objPtr;
- if (Jim_DictKeysVector(interp, argv[2], argv+3, argc-3, &objPtr,
+ if (Jim_DictKeysVector(interp, argv[2], argv + 3, argc-3, &objPtr,
Jim_WrongNumArgs(interp, 2, argv, "varName key ?key ...? value");
return JIM_ERR;
}
Jim_WrongNumArgs(interp, 2, argv, "varName key ?key ...? value");
return JIM_ERR;
}
- return Jim_SetDictKeysVector(interp, argv[2], argv+3, argc-4,
+ return Jim_SetDictKeysVector(interp, argv[2], argv + 3, argc-4,
argv[argc-1]);
} else if (option == OPT_UNSET) {
if (argc < 4) {
Jim_WrongNumArgs(interp, 2, argv, "varName key ?key ...?");
return JIM_ERR;
}
argv[argc-1]);
} else if (option == OPT_UNSET) {
if (argc < 4) {
Jim_WrongNumArgs(interp, 2, argv, "varName key ?key ...?");
return JIM_ERR;
}
- return Jim_SetDictKeysVector(interp, argv[2], argv+3, argc-3,
+ return Jim_SetDictKeysVector(interp, argv[2], argv + 3, argc-3,
- if (Jim_DictKeysVector(interp, argv[2], argv+3, argc-3, &objPtr,
+ if (Jim_DictKeysVector(interp, argv[2], argv + 3, argc-3, &objPtr,
"-nocommands"))
flags |= JIM_SUBST_NOCMD;
else {
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
Jim_AppendStrings(interp, Jim_GetResult(interp),
"-nocommands"))
flags |= JIM_SUBST_NOCMD;
else {
Jim_SetResult(interp, Jim_NewEmptyStringObj(interp));
Jim_AppendStrings(interp, Jim_GetResult(interp),
- "bad option \"", Jim_GetString(argv[i+1], NULL),
+ "bad option \"", Jim_GetString(argv[i + 1], NULL),
objPtr = Jim_NewStringObj(interp, noMatchStart,
(str-noMatchStart));
Jim_ListAppendElement(interp, resObjPtr, objPtr);
objPtr = Jim_NewStringObj(interp, noMatchStart,
(str-noMatchStart));
Jim_ListAppendElement(interp, resObjPtr, objPtr);
Jim_ListIndex(interp, argv[1], i, &objPtr, JIM_NONE);
Jim_AppendObj(interp, resObjPtr, objPtr);
Jim_ListIndex(interp, argv[1], i, &objPtr, JIM_NONE);
Jim_AppendObj(interp, resObjPtr, objPtr);
Jim_AppendString(interp, resObjPtr, joinStr, joinStrLen);
}
}
Jim_AppendString(interp, resObjPtr, joinStr, joinStrLen);
}
}
Jim_WrongNumArgs(interp, 1, argv, "formatString ?arg arg ...?");
return JIM_ERR;
}
Jim_WrongNumArgs(interp, 1, argv, "formatString ?arg arg ...?");
return JIM_ERR;
}
- objPtr = Jim_FormatString(interp, argv[1], argc-2, argv+2);
+ objPtr = Jim_FormatString(interp, argv[1], argc-2, argv + 2);
}
objPtr = Jim_NewListObj(interp, NULL, 0);
for (i = 0; i < len; i++)
}
objPtr = Jim_NewListObj(interp, NULL, 0);
for (i = 0; i < len; i++)
JimRandomBytes(interp, &r, sizeof(jim_wide));
if (r < 0 || r >= maxMul) continue;
r = (len == 0) ? 0 : r%len;
JimRandomBytes(interp, &r, sizeof(jim_wide));
if (r < 0 || r >= maxMul) continue;
r = (len == 0) ? 0 : r%len;
Jim_ListIndex(interp, interp->stackTrace, i, &objPtr, JIM_NONE);
proc = Jim_GetString(objPtr, NULL);
Jim_ListIndex(interp, interp->stackTrace, i, &objPtr, JIM_NONE);
proc = Jim_GetString(objPtr, NULL);
- Jim_ListIndex(interp, interp->stackTrace, i+1, &objPtr,
+ Jim_ListIndex(interp, interp->stackTrace, i + 1, &objPtr,
- Jim_ListIndex(interp, interp->stackTrace, i+2, &objPtr,
+ Jim_ListIndex(interp, interp->stackTrace, i + 2, &objPtr,