diff options
author | andreas_kupries <akupries@shaw.ca> | 2010-11-03 22:10:47 (GMT) |
---|---|---|
committer | andreas_kupries <akupries@shaw.ca> | 2010-11-03 22:10:47 (GMT) |
commit | ff4dd728a0758b53ff5f42962590e2c0030cb4d7 (patch) | |
tree | 33c2131e08e55f66bfb705db9f60afb9e533003a /win/tclWinLoad.c | |
parent | 44f16df1be0b7cc077186b156b508865160a0b50 (diff) | |
download | tcl-ff4dd728a0758b53ff5f42962590e2c0030cb4d7.zip tcl-ff4dd728a0758b53ff5f42962590e2c0030cb4d7.tar.gz tcl-ff4dd728a0758b53ff5f42962590e2c0030cb4d7.tar.bz2 |
Backported from 8.6 (see 2010-08-04).
* win/tclWin32Dll.c (asciiProcs, unicodeProcs):
* win/tclWinLoad.c (TclpDlopen): 'load' use LoadLibraryEx with
* win/tclWinInt.h (TclWinProcs): LOAD_WITH_ALTERED_SEARCH_PATH to
prefer dependent DLLs in same dir as loaded DLL.
Diffstat (limited to 'win/tclWinLoad.c')
-rw-r--r-- | win/tclWinLoad.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/win/tclWinLoad.c b/win/tclWinLoad.c index 77b440a..1698871 100644 --- a/win/tclWinLoad.c +++ b/win/tclWinLoad.c @@ -10,7 +10,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWinLoad.c,v 1.15 2002/10/10 12:25:53 vincentdarley Exp $ + * RCS: @(#) $Id: tclWinLoad.c,v 1.15.2.1 2010/11/03 22:10:48 andreas_kupries Exp $ */ #include "tclWinInt.h" @@ -56,7 +56,8 @@ TclpDlopen(interp, pathPtr, loadHandle, unloadProcPtr) * using a relative path. */ nativeName = Tcl_FSGetNativePath(pathPtr); - handle = (*tclWinProcs->loadLibraryProc)(nativeName); + handle = (*tclWinProcs->loadLibraryExProc)(nativeName, NULL, + LOAD_WITH_ALTERED_SEARCH_PATH); if (handle == NULL) { /* * Let the OS loader examine the binary search path for @@ -66,7 +67,8 @@ TclpDlopen(interp, pathPtr, loadHandle, unloadProcPtr) Tcl_DString ds; char *fileName = Tcl_GetString(pathPtr); nativeName = Tcl_WinUtfToTChar(fileName, -1, &ds); - handle = (*tclWinProcs->loadLibraryProc)(nativeName); + handle = (*tclWinProcs->loadLibraryExProc)(nativeName, NULL, + LOAD_WITH_ALTERED_SEARCH_PATH); Tcl_DStringFree(&ds); } |