diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2013-01-03 14:08:49 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2013-01-03 14:08:49 (GMT) |
commit | dfe92fee6cdcf5ae490fb332111618fbb08a6bdd (patch) | |
tree | 67beb5bc2ab01dea876bee2dcd825f95eb7ae6b8 /generic/tclStubLib.c | |
parent | d9823d1d2b4d2f7e653dbd27b3ce38b470cf7b42 (diff) | |
parent | 6470859885f92e276993f88322b090eca3cb24f2 (diff) | |
download | tcl-dfe92fee6cdcf5ae490fb332111618fbb08a6bdd.zip tcl-dfe92fee6cdcf5ae490fb332111618fbb08a6bdd.tar.gz tcl-dfe92fee6cdcf5ae490fb332111618fbb08a6bdd.tar.bz2 |
merge main dev branch
Diffstat (limited to 'generic/tclStubLib.c')
-rw-r--r-- | generic/tclStubLib.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/generic/tclStubLib.c b/generic/tclStubLib.c index a9d0f02..859cbf9 100644 --- a/generic/tclStubLib.c +++ b/generic/tclStubLib.c @@ -23,22 +23,8 @@ const TclPlatStubs *tclPlatStubsPtr = NULL; const TclIntStubs *tclIntStubsPtr = NULL; const TclIntPlatStubs *tclIntPlatStubsPtr = NULL; -static const TclStubs * -HasStubSupport( - Tcl_Interp *interp) -{ - Interp *iPtr = (Interp *) interp; - - if (iPtr->stubTable && (iPtr->stubTable->magic == TCL_STUB_MAGIC)) { - return iPtr->stubTable; - } - iPtr->result = (char *) "interpreter uses an incompatible stubs mechanism"; - iPtr->freeProc = TCL_STATIC; - return NULL; -} - /* - * Use our own isdigit to avoid linking to libc on windows + * Use our own isDigit to avoid linking to libc on windows */ static int isDigit(const int c) @@ -70,9 +56,10 @@ Tcl_InitStubs( const char *version, int exact) { + Interp *iPtr = (Interp *) interp; const char *actualVersion = NULL; ClientData pkgData = NULL; - const TclStubs *stubsPtr; + const TclStubs *stubsPtr = iPtr->stubTable; /* * We can't optimize this check by caching tclStubsPtr because that @@ -80,8 +67,9 @@ Tcl_InitStubs( * times. [Bug 615304] */ - stubsPtr = HasStubSupport(interp); - if (!stubsPtr) { + if (!stubsPtr || (stubsPtr->magic != TCL_STUB_MAGIC)) { + iPtr->result = "interpreter uses an incompatible stubs mechanism"; + iPtr->freeProc = TCL_STATIC; return NULL; } |