diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2018-09-06 11:25:41 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2018-09-06 11:25:41 (GMT) |
| commit | 6269e32c3bc28d6bca8d70ec499e152648356f5c (patch) | |
| tree | 4a7fb8acf050c062d95f484da84d53c9b2917adc | |
| parent | 3e7ffcaf4bde6d7e7a030c603ff78b586704891b (diff) | |
| download | tcl-6269e32c3bc28d6bca8d70ec499e152648356f5c.zip tcl-6269e32c3bc28d6bca8d70ec499e152648356f5c.tar.gz tcl-6269e32c3bc28d6bca8d70ec499e152648356f5c.tar.bz2 | |
Bug-fix: Move TclZipfs_AppHook() from 0 -> 2 in the stub table, otherwise it overrides the entry for Tcl_MacOSXOpenBundleResources (since MacOSX is UNIX as well...).
| -rw-r--r-- | generic/tcl.decls | 7 | ||||
| -rw-r--r-- | generic/tclPlatDecls.h | 27 | ||||
| -rw-r--r-- | generic/tclStubInit.c | 7 |
3 files changed, 29 insertions, 12 deletions
diff --git a/generic/tcl.decls b/generic/tcl.decls index 1fa9a04..92e87d6 100644 --- a/generic/tcl.decls +++ b/generic/tcl.decls @@ -2330,8 +2330,6 @@ declare 631 { ClientData callbackData) } -# ----- BASELINE -- FOR -- 8.7.0 ----- # - # TIP #430 declare 632 { int TclZipfs_Mount( @@ -2354,6 +2352,9 @@ declare 635 { size_t datalen, int copy) } + +# ----- BASELINE -- FOR -- 8.7.0 ----- # + ############################################################################## # Define the platform specific public Tcl interface. These functions are only @@ -2364,7 +2365,7 @@ interface tclPlat ################################ # Unix specific functions # (none) -declare 0 unix { +declare 2 unix { int TclZipfs_AppHook(int *argc, char ***argv) } diff --git a/generic/tclPlatDecls.h b/generic/tclPlatDecls.h index e746a6d..ac3f921 100644 --- a/generic/tclPlatDecls.h +++ b/generic/tclPlatDecls.h @@ -51,7 +51,9 @@ extern "C" { */ #if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */ -/* 0 */ +/* Slot 0 is reserved */ +/* Slot 1 is reserved */ +/* 2 */ EXTERN int TclZipfs_AppHook(int *argc, char ***argv); #endif /* UNIX */ #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */ @@ -66,13 +68,17 @@ EXTERN int TclZipfs_AppHook(int *argc, TCHAR ***argv); #endif /* WIN */ #ifdef MAC_OSX_TCL /* MACOSX */ /* 0 */ -EXTERN int TclZipfs_AppHook(int *argc, char ***argv); +EXTERN int Tcl_MacOSXOpenBundleResources(Tcl_Interp *interp, + const char *bundleName, int hasResourceFile, + int maxPathLen, char *libraryPath); /* 1 */ EXTERN int Tcl_MacOSXOpenVersionedBundleResources( Tcl_Interp *interp, const char *bundleName, const char *bundleVersion, int hasResourceFile, int maxPathLen, char *libraryPath); +/* 2 */ +EXTERN int TclZipfs_AppHook(int *argc, char ***argv); #endif /* MACOSX */ typedef struct TclPlatStubs { @@ -80,7 +86,9 @@ typedef struct TclPlatStubs { void *hooks; #if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */ - int (*tclZipfs_AppHook) (int *argc, char ***argv); /* 0 */ + void (*reserved0)(void); + void (*reserved1)(void); + int (*tclZipfs_AppHook) (int *argc, char ***argv); /* 2 */ #endif /* UNIX */ #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */ TCHAR * (*tcl_WinUtfToTChar) (const char *str, int len, Tcl_DString *dsPtr); /* 0 */ @@ -88,8 +96,9 @@ typedef struct TclPlatStubs { int (*tclZipfs_AppHook) (int *argc, TCHAR ***argv); /* 2 */ #endif /* WIN */ #ifdef MAC_OSX_TCL /* MACOSX */ - int (*tclZipfs_AppHook) (int *argc, char ***argv); /* 0 */ + int (*tcl_MacOSXOpenBundleResources) (Tcl_Interp *interp, const char *bundleName, int hasResourceFile, int maxPathLen, char *libraryPath); /* 0 */ int (*tcl_MacOSXOpenVersionedBundleResources) (Tcl_Interp *interp, const char *bundleName, const char *bundleVersion, int hasResourceFile, int maxPathLen, char *libraryPath); /* 1 */ + int (*tclZipfs_AppHook) (int *argc, char ***argv); /* 2 */ #endif /* MACOSX */ } TclPlatStubs; @@ -106,8 +115,10 @@ extern const TclPlatStubs *tclPlatStubsPtr; */ #if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */ +/* Slot 0 is reserved */ +/* Slot 1 is reserved */ #define TclZipfs_AppHook \ - (tclPlatStubsPtr->tclZipfs_AppHook) /* 0 */ + (tclPlatStubsPtr->tclZipfs_AppHook) /* 2 */ #endif /* UNIX */ #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */ #define Tcl_WinUtfToTChar \ @@ -118,10 +129,12 @@ extern const TclPlatStubs *tclPlatStubsPtr; (tclPlatStubsPtr->tclZipfs_AppHook) /* 2 */ #endif /* WIN */ #ifdef MAC_OSX_TCL /* MACOSX */ -#define TclZipfs_AppHook \ - (tclPlatStubsPtr->tclZipfs_AppHook) /* 0 */ +#define Tcl_MacOSXOpenBundleResources \ + (tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */ #define Tcl_MacOSXOpenVersionedBundleResources \ (tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */ +#define TclZipfs_AppHook \ + (tclPlatStubsPtr->tclZipfs_AppHook) /* 2 */ #endif /* MACOSX */ #endif /* defined(USE_TCL_STUBS) */ diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index 93ec08a..bf3a8d1 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -838,7 +838,9 @@ static const TclPlatStubs tclPlatStubs = { TCL_STUB_MAGIC, 0, #if !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MAC_OSX_TCL) /* UNIX */ - TclZipfs_AppHook, /* 0 */ + 0, /* 0 */ + 0, /* 1 */ + TclZipfs_AppHook, /* 2 */ #endif /* UNIX */ #if defined(_WIN32) || defined(__CYGWIN__) /* WIN */ Tcl_WinUtfToTChar, /* 0 */ @@ -846,8 +848,9 @@ static const TclPlatStubs tclPlatStubs = { TclZipfs_AppHook, /* 2 */ #endif /* WIN */ #ifdef MAC_OSX_TCL /* MACOSX */ - TclZipfs_AppHook, /* 0 */ + Tcl_MacOSXOpenBundleResources, /* 0 */ Tcl_MacOSXOpenVersionedBundleResources, /* 1 */ + TclZipfs_AppHook, /* 2 */ #endif /* MACOSX */ }; |
