diff options
author | dgp <dgp@users.sourceforge.net> | 2016-03-24 15:01:43 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2016-03-24 15:01:43 (GMT) |
commit | 92dc17a5efa5db9dc3247b3d8e2707140b043eff (patch) | |
tree | db19d4d91681b26266736bcd86c682bf276cc24c | |
parent | 0eecd644ce9691fc214d38ae09b7d35981138fd8 (diff) | |
download | tcl-92dc17a5efa5db9dc3247b3d8e2707140b043eff.zip tcl-92dc17a5efa5db9dc3247b3d8e2707140b043eff.tar.gz tcl-92dc17a5efa5db9dc3247b3d8e2707140b043eff.tar.bz2 |
More purging of direct access to bytes field where it isn't important.
-rw-r--r-- | generic/tclCmdIL.c | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/generic/tclCmdIL.c b/generic/tclCmdIL.c index 739dca9..e32aff0 100644 --- a/generic/tclCmdIL.c +++ b/generic/tclCmdIL.c @@ -544,9 +544,9 @@ InfoBodyCmd( Tcl_Obj *const objv[]) /* Argument objects. */ { register Interp *iPtr = (Interp *) interp; - const char *name; + const char *name, *bytes; Proc *procPtr; - Tcl_Obj *bodyPtr, *resultPtr; + int numBytes; if (objc != 2) { Tcl_WrongNumArgs(interp, 1, objv, "procname"); @@ -571,18 +571,8 @@ InfoBodyCmd( * the object do not invalidate the internal rep. */ - bodyPtr = procPtr->bodyPtr; - if (bodyPtr->bytes == NULL) { - /* - * The string rep might not be valid if the procedure has never been - * run before. [Bug #545644] - */ - - TclGetString(bodyPtr); - } - resultPtr = Tcl_NewStringObj(bodyPtr->bytes, bodyPtr->length); - - Tcl_SetObjResult(interp, resultPtr); + bytes = Tcl_GetStringFromObj(procPtr->bodyPtr, &numBytes); + Tcl_SetObjResult(interp, Tcl_NewStringObj(bytes, numBytes)); return TCL_OK; } |