From 592da3fcbdeed87601e0deb1a7bab5de79870efa Mon Sep 17 00:00:00 2001 From: dkf Date: Fri, 24 May 2024 19:36:08 +0000 Subject: Use TclDStringToObj a bit more --- generic/tclPkg.c | 6 +----- unix/tclUnixFCmd.c | 6 ++---- unix/tclUnixFile.c | 8 ++------ win/tclWinFCmd.c | 2 +- 4 files changed, 6 insertions(+), 16 deletions(-) diff --git a/generic/tclPkg.c b/generic/tclPkg.c index 5e7f614..7e8db0e 100644 --- a/generic/tclPkg.c +++ b/generic/tclPkg.c @@ -414,11 +414,7 @@ PkgRequireCoreStep1(ClientData data[], Tcl_Interp *interp, int result) { AddRequirementsToDString(&command, reqc, reqv); Tcl_NRAddCallback(interp, PkgRequireCoreStep2, reqPtr, INT2PTR(reqc), (void *)reqv, NULL); - Tcl_NREvalObj(interp, - Tcl_NewStringObj(Tcl_DStringValue(&command), Tcl_DStringLength(&command)), - TCL_EVAL_GLOBAL - ); - Tcl_DStringFree(&command); + Tcl_NREvalObj(interp, TclDStringToObj(&command), TCL_EVAL_GLOBAL); } return TCL_OK; } else { diff --git a/unix/tclUnixFCmd.c b/unix/tclUnixFCmd.c index 26429df..3d44124 100644 --- a/unix/tclUnixFCmd.c +++ b/unix/tclUnixFCmd.c @@ -789,8 +789,7 @@ TclpObjCopyDirectory( Tcl_DStringFree(&dstString); if (ret != TCL_OK) { - *errorPtr = Tcl_NewStringObj(Tcl_DStringValue(&ds), -1); - Tcl_DStringFree(&ds); + *errorPtr = TclDStringToObj(&ds); Tcl_IncrRefCount(*errorPtr); } return ret; @@ -843,8 +842,7 @@ TclpObjRemoveDirectory( Tcl_DStringFree(&pathString); if (ret != TCL_OK) { - *errorPtr = Tcl_NewStringObj(Tcl_DStringValue(&ds), -1); - Tcl_DStringFree(&ds); + *errorPtr = TclDStringToObj(&ds); Tcl_IncrRefCount(*errorPtr); } return ret; diff --git a/unix/tclUnixFile.c b/unix/tclUnixFile.c index 5f9f9b3..c39e7b6 100644 --- a/unix/tclUnixFile.c +++ b/unix/tclUnixFile.c @@ -149,9 +149,7 @@ TclpFindExecutable( #endif { Tcl_ExternalToUtfDString(NULL, name, -1, &utfName); - TclSetObjNameOfExecutable( - Tcl_NewStringObj(Tcl_DStringValue(&utfName), -1), NULL); - Tcl_DStringFree(&utfName); + TclSetObjNameOfExecutable(TclDStringToObj(&utfName), NULL); goto done; } @@ -185,9 +183,7 @@ TclpFindExecutable( Tcl_DStringFree(&nameString); Tcl_ExternalToUtfDString(NULL, Tcl_DStringValue(&buffer), -1, &utfName); - TclSetObjNameOfExecutable( - Tcl_NewStringObj(Tcl_DStringValue(&utfName), -1), NULL); - Tcl_DStringFree(&utfName); + TclSetObjNameOfExecutable(TclDStringToObj(&utfName), NULL); done: Tcl_DStringFree(&buffer); diff --git a/win/tclWinFCmd.c b/win/tclWinFCmd.c index 65c6441..0bf21dd 100644 --- a/win/tclWinFCmd.c +++ b/win/tclWinFCmd.c @@ -925,7 +925,7 @@ TclpObjCopyDirectory( } else if (!strcmp(Tcl_DStringValue(&ds), TclGetString(normDestPtr))) { *errorPtr = destPathPtr; } else { - *errorPtr = Tcl_NewStringObj(Tcl_DStringValue(&ds), -1); + *errorPtr = TclDStringToObj(&ds); } Tcl_DStringFree(&ds); Tcl_IncrRefCount(*errorPtr); -- cgit v0.12