summaryrefslogtreecommitdiffstats
path: root/generic/tclZipfs.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-06-23 13:27:55 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-06-23 13:27:55 (GMT)
commitcbb66412ca40047eab4b424f4f86150f71b622d9 (patch)
tree52a5e0aa2fc7151657345a0a0cbbe4edd3802d23 /generic/tclZipfs.c
parent20fcf335945daf5dedf6f10f940026b681dd7f1b (diff)
parent501954d5aaf9401f977885fd340298baacde61a2 (diff)
downloadtcl-cbb66412ca40047eab4b424f4f86150f71b622d9.zip
tcl-cbb66412ca40047eab4b424f4f86150f71b622d9.tar.gz
tcl-cbb66412ca40047eab4b424f4f86150f71b622d9.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclZipfs.c')
-rw-r--r--generic/tclZipfs.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/generic/tclZipfs.c b/generic/tclZipfs.c
index 35b6712..c1ba395 100644
--- a/generic/tclZipfs.c
+++ b/generic/tclZipfs.c
@@ -32,6 +32,10 @@
#define TBLS 1
#endif
+#if !defined(_WIN32) && !defined(NO_DLFCN_H)
+#include <dlfcn.h>
+#endif
+
#ifdef HAVE_ZLIB
#include "zlib.h"
#include "crypt.h"
@@ -3907,6 +3911,12 @@ TclZipfs_TclLibrary(void)
if (ZipfsAppHookFindTclInit(dllName) == TCL_OK) {
return Tcl_NewStringObj(zipfs_literal_tcl_library, -1);
}
+#elif !defined(NO_DLFCN_H)
+ Dl_info dlinfo;
+ if (dladdr(TclZipfs_TclLibrary, &dlinfo) && (dlinfo.dli_fname != NULL)
+ && (ZipfsAppHookFindTclInit(dlinfo.dli_fname) == TCL_OK)) {
+ return Tcl_NewStringObj(zipfs_literal_tcl_library, -1);
+ }
#else
if (ZipfsAppHookFindTclInit(CFG_RUNTIME_LIBDIR "/" CFG_RUNTIME_DLLFILE) == TCL_OK) {
return Tcl_NewStringObj(zipfs_literal_tcl_library, -1);