summaryrefslogtreecommitdiffstats
path: root/generic/tclStubLib.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2012-11-19 21:46:51 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2012-11-19 21:46:51 (GMT)
commit7f4b300e2a1f846f1aff77518a22caf720b83725 (patch)
treec662810ad5325082a002448212d340779a39626d /generic/tclStubLib.c
parent36353f6c04ced7f2f47bd497272b5f291f14e6ad (diff)
downloadtcl-7f4b300e2a1f846f1aff77518a22caf720b83725.zip
tcl-7f4b300e2a1f846f1aff77518a22caf720b83725.tar.gz
tcl-7f4b300e2a1f846f1aff77518a22caf720b83725.tar.bz2
Single stub library can now handle Tcl8 and Tcl9 with different MAGIC values
Diffstat (limited to 'generic/tclStubLib.c')
-rw-r--r--generic/tclStubLib.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/generic/tclStubLib.c b/generic/tclStubLib.c
index be2c966..bd80ec1 100644
--- a/generic/tclStubLib.c
+++ b/generic/tclStubLib.c
@@ -34,7 +34,8 @@ const TclIntPlatStubs *tclIntPlatStubsPtr = NULL;
static const TclStubs *
HasStubSupport(
- Tcl_Interp *interp)
+ Tcl_Interp *interp,
+ int magic)
{
Interp *iPtr = (Interp *) interp;
@@ -42,7 +43,7 @@ HasStubSupport(
/* No stub table at all? Nothing we can do. */
return NULL;
}
- if (iPtr->stubTable->magic != TCL_STUB_MAGIC) {
+ if (iPtr->stubTable->magic != magic) {
/*
* The iPtr->stubTable entry from Tcl_Interp and the
* Tcl_NewStringObj() and Tcl_SetObjResult() entries
@@ -70,7 +71,7 @@ static int isDigit(const int c)
/*
*----------------------------------------------------------------------
*
- * Tcl_InitStubs --
+ * TclInitStubs --
*
* Tries to initialise the stub table pointers and ensures that the
* correct version of Tcl is loaded.
@@ -86,10 +87,11 @@ static int isDigit(const int c)
*/
MODULE_SCOPE const char *
-Tcl_InitStubs(
+TclInitStubs(
Tcl_Interp *interp,
const char *version,
- int exact)
+ int exact,
+ int magic)
{
const char *actualVersion = NULL;
ClientData pkgData = NULL;
@@ -100,7 +102,7 @@ Tcl_InitStubs(
* times. [Bug 615304]
*/
- tclStubsPtr = HasStubSupport(interp);
+ tclStubsPtr = HasStubSupport(interp, magic);
if (!tclStubsPtr) {
return NULL;
}