diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-07-19 14:53:13 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-07-19 14:53:13 (GMT) |
| commit | 31d2eacf4146aec4f4650b0493b966660b8bcce0 (patch) | |
| tree | 4a4953bb2f8f70d6a6f12617aca04042f5a2a41a /unix/tclLoadDyld.c | |
| parent | c510082005ccca4d37d2716a570a380dde7f2c40 (diff) | |
| parent | 2542a8f81ee6278e9e3fa9937483bd2183fc3548 (diff) | |
| download | tcl-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.c | 14 |
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); |
