diff options
| author | donal.k.fellows@manchester.ac.uk <dkf> | 2012-12-23 08:18:10 (GMT) |
|---|---|---|
| committer | donal.k.fellows@manchester.ac.uk <dkf> | 2012-12-23 08:18:10 (GMT) |
| commit | 20159c58b7981393cc0297709332526e08385ec4 (patch) | |
| tree | 904a5c784012083beffa88301ce90c0d9ca69bc6 /generic/tclStubLib.c | |
| parent | 282e6aaa5d3e15a15f4efa016911b5ced8f3b820 (diff) | |
| parent | 7689d389ceccb11dcfac3d190b36dba6331e31db (diff) | |
| download | tcl-20159c58b7981393cc0297709332526e08385ec4.zip tcl-20159c58b7981393cc0297709332526e08385ec4.tar.gz tcl-20159c58b7981393cc0297709332526e08385ec4.tar.bz2 | |
merge trunk
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; } |
