diff options
Diffstat (limited to 'unix/tclLoadShl.c')
| -rw-r--r-- | unix/tclLoadShl.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/unix/tclLoadShl.c b/unix/tclLoadShl.c index 0889c21..63e9328 100644 --- a/unix/tclLoadShl.c +++ b/unix/tclLoadShl.c @@ -31,13 +31,13 @@ static void UnloadFile(Tcl_LoadHandle handle); * to the new code. * * Results: - * A standard Tcl completion code. If an error occurs, an error message + * A standard Tcl completion code. If an error occurs, an error message * is left in the interp's result. * * Side effects: * New code suddenly appears in memory. * - *---------------------------------------------------------------------- + *--------------------------------------------------------------------------- */ int @@ -86,7 +86,11 @@ TclpDlopen( Tcl_DString ds; - native = Tcl_UtfToExternalDString(NULL, fileName, TCL_INDEX_NONE, &ds); + if (Tcl_UtfToExternalDStringEx(interp, NULL, fileName, TCL_INDEX_NONE, 0, &ds, NULL) != TCL_OK) { + Tcl_DStringFree(&ds); + return TCL_ERROR; + } + native = Tcl_DStringValue(&ds); handle = shl_load(native, BIND_DEFERRED|BIND_VERBOSE|DYNAMIC_PATH, 0L); Tcl_DStringFree(&ds); } |
