summaryrefslogtreecommitdiffstats
path: root/unix/tclLoadDyld.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-07-19 14:53:13 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-07-19 14:53:13 (GMT)
commit31d2eacf4146aec4f4650b0493b966660b8bcce0 (patch)
tree4a4953bb2f8f70d6a6f12617aca04042f5a2a41a /unix/tclLoadDyld.c
parentc510082005ccca4d37d2716a570a380dde7f2c40 (diff)
parent2542a8f81ee6278e9e3fa9937483bd2183fc3548 (diff)
downloadtcl-31d2eacf4146aec4f4650b0493b966660b8bcce0.zip
tcl-31d2eacf4146aec4f4650b0493b966660b8bcce0.tar.gz
tcl-31d2eacf4146aec4f4650b0493b966660b8bcce0.tar.bz2
Rebase to 9.0
Diffstat (limited to 'unix/tclLoadDyld.c')
-rw-r--r--unix/tclLoadDyld.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/unix/tclLoadDyld.c b/unix/tclLoadDyld.c
index cc3512d..0bb56c8 100644
--- a/unix/tclLoadDyld.c
+++ b/unix/tclLoadDyld.c
@@ -184,8 +184,12 @@ TclpDlopen(
*/
nativePath = (const char *)Tcl_FSGetNativePath(pathPtr);
- nativeFileName = Tcl_UtfToExternalDString(NULL, TclGetString(pathPtr),
- TCL_INDEX_NONE, &ds);
+ if (Tcl_UtfToExternalDStringEx(interp, NULL, TclGetString(pathPtr),
+ TCL_INDEX_NONE, 0, &ds, NULL) != TCL_OK) {
+ Tcl_DStringFree(&ds);
+ return TCL_ERROR;
+ }
+ nativeFileName = Tcl_DStringValue();
#if TCL_DYLD_USE_DLFCN
/*
@@ -341,7 +345,11 @@ FindSymbol(
Tcl_DString ds;
const char *native;
- native = Tcl_UtfToExternalDString(NULL, symbol, TCL_INDEX_NONE, &ds);
+ if (Tcl_UtfToExternalDStringEx(interp, NULL, symbol, TCL_INDEX_NONE, 0, &ds, NULL) != TCL_OK) {
+ Tcl_DStringFree(&ds);
+ return TCL_ERROR;
+ }
+ native = Tcl_DStringValue(&ds);
if (dyldLoadHandle->dlHandle) {
#if TCL_DYLD_USE_DLFCN
proc = (Tcl_LibraryInitProc *)dlsym(dyldLoadHandle->dlHandle, native);