diff options
Diffstat (limited to 'generic/tclObj.c')
-rw-r--r-- | generic/tclObj.c | 56 |
1 files changed, 3 insertions, 53 deletions
diff --git a/generic/tclObj.c b/generic/tclObj.c index 933138c..0f13f12 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -1661,7 +1661,7 @@ Tcl_GetString( /* *---------------------------------------------------------------------- * - * Tcl_GetStringFromObj/TclGetStringFromObj -- + * Tcl_GetStringFromObj -- * * Returns the string representation's byte array pointer and length for * an object. @@ -1681,7 +1681,6 @@ Tcl_GetString( *---------------------------------------------------------------------- */ -#undef Tcl_GetStringFromObj char * Tcl_GetStringFromObj( Tcl_Obj *objPtr, /* Object whose string rep byte pointer should @@ -1720,47 +1719,6 @@ Tcl_GetStringFromObj( } return objPtr->bytes; } - -#undef TclGetStringFromObj -char * -TclGetStringFromObj( - Tcl_Obj *objPtr, /* Object whose string rep byte pointer should - * be returned. */ - void *lengthPtr) /* If non-NULL, the location where the string - * rep's byte array length should * be stored. - * If NULL, no length is stored. */ -{ - if (objPtr->bytes == NULL) { - /* - * Note we do not check for objPtr->typePtr == NULL. An invariant - * of a properly maintained Tcl_Obj is that at least one of - * objPtr->bytes and objPtr->typePtr must not be NULL. If broken - * extensions fail to maintain that invariant, we can crash here. - */ - - if (objPtr->typePtr->updateStringProc == NULL) { - /* - * Those Tcl_ObjTypes which choose not to define an - * updateStringProc must be written in such a way that - * (objPtr->bytes) never becomes NULL. - */ - Tcl_Panic("UpdateStringProc should not be invoked for type %s", - objPtr->typePtr->name); - } - objPtr->typePtr->updateStringProc(objPtr); - if (objPtr->bytes == NULL || objPtr->length < 0 - || objPtr->bytes[objPtr->length] != '\0') { - Tcl_Panic("UpdateStringProc for type '%s' " - "failed to create a valid string rep", - objPtr->typePtr->name); - } - } - if (lengthPtr != NULL) { - *(ptrdiff_t *)lengthPtr = ((ptrdiff_t)(unsigned)(objPtr->length + 1)) - 1; - } - return objPtr->bytes; -} - /* *---------------------------------------------------------------------- @@ -4042,7 +4000,7 @@ int Tcl_GetNumber( Tcl_Interp *interp, const char *bytes, - ptrdiff_t numBytes, + int numBytes, void **clientDataPtr, int *typePtr) { @@ -4057,15 +4015,7 @@ Tcl_GetNumber( numBytes = 0; } if (numBytes < 0) { - numBytes = (ptrdiff_t)strlen(bytes); - } - if (numBytes > INT_MAX) { - if (interp) { - Tcl_SetObjResult(interp, Tcl_ObjPrintf( - "max size for a Tcl value (%d bytes) exceeded", INT_MAX)); - Tcl_SetErrorCode(interp, "TCL", "MEMORY", NULL); - } - return TCL_ERROR; + numBytes = (int)strlen(bytes); } objPtr->bytes = (char *) bytes; |