diff options
Diffstat (limited to 'generic/tclDisassemble.c')
| -rw-r--r-- | generic/tclDisassemble.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/generic/tclDisassemble.c b/generic/tclDisassemble.c index 7181164..874d0d7 100644 --- a/generic/tclDisassemble.c +++ b/generic/tclDisassemble.c @@ -817,17 +817,17 @@ static void UpdateStringOfInstName( Tcl_Obj *objPtr) { - int inst = objPtr->internalRep.wideValue; - char *s, buf[20]; - int len; + size_t len, inst = (size_t)objPtr->internalRep.wideValue; + char *s, buf[TCL_INTEGER_SPACE + 5]; - if ((inst < 0) || (inst > LAST_INST_OPCODE)) { - sprintf(buf, "inst_%d", inst); + if (inst > LAST_INST_OPCODE) { + sprintf(buf, "inst_%" TCL_Z_MODIFIER "d", inst); s = buf; } else { - s = (char *) tclInstructionTable[objPtr->internalRep.wideValue].name; + s = (char *) tclInstructionTable[inst].name; } len = strlen(s); + /* assert (len < UINT_MAX) */ objPtr->bytes = ckalloc(len + 1); memcpy(objPtr->bytes, s, len + 1); objPtr->length = len; |
