aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2018-06-03 16:17:18 +1000
committerSteve Bennett <steveb@workware.net.au>2018-06-03 16:18:32 +1000
commiteaea86f9c7cc0ac02673e5bcf6ebf7d7ba17dcc8 (patch)
tree50fe7abca018ae1e680983a77d0c88d5898b68f3
parent3ff4cdbb49321b7e9679015bf1fc64033e4a4f79 (diff)
downloadjimtcl-eaea86f9c7cc0ac02673e5bcf6ebf7d7ba17dcc8.zip
jimtcl-eaea86f9c7cc0ac02673e5bcf6ebf7d7ba17dcc8.tar.gz
jimtcl-eaea86f9c7cc0ac02673e5bcf6ebf7d7ba17dcc8.tar.bz2
jim.c: Jim_Length/Jim_String internal checks
Perform the same internal checks as Jim_GetString() when the string rep needs to be generated by calling Jim_GetString() Reported-by: Stuart Cassoff <stwo@bell.net> Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r--jim.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/jim.c b/jim.c
index 9ae9063..752f014 100644
--- a/jim.c
+++ b/jim.c
@@ -2286,8 +2286,7 @@ int Jim_Length(Jim_Obj *objPtr)
{
if (objPtr->bytes == NULL) {
/* Invalid string repr. Generate it. */
- JimPanic((objPtr->typePtr->updateStringProc == NULL, "UpdateStringProc called against '%s' type.", objPtr->typePtr->name));
- objPtr->typePtr->updateStringProc(objPtr);
+ Jim_GetString(objPtr, NULL);
}
return objPtr->length;
}
@@ -2297,9 +2296,7 @@ const char *Jim_String(Jim_Obj *objPtr)
{
if (objPtr->bytes == NULL) {
/* Invalid string repr. Generate it. */
- JimPanic((objPtr->typePtr == NULL, "UpdateStringProc called against typeless value."));
- JimPanic((objPtr->typePtr->updateStringProc == NULL, "UpdateStringProc called against '%s' type.", objPtr->typePtr->name));
- objPtr->typePtr->updateStringProc(objPtr);
+ Jim_GetString(objPtr, NULL);
}
return objPtr->bytes;
}