diff options
author | William Joye <wjoye@cfa.harvard.edu> | 2019-04-22 15:46:20 (GMT) |
---|---|---|
committer | William Joye <wjoye@cfa.harvard.edu> | 2019-04-22 15:46:20 (GMT) |
commit | 7e8909a08b8e425eeaa69085cbe86e848f2f5650 (patch) | |
tree | f26e5e21fe28674bab321d6453ea32b5a4a491e2 /tk8.6/generic/tkStubLib.c | |
parent | 346eeb31d1c0a2ee959ecfade3cd66e3dc07cf4b (diff) | |
download | blt-7e8909a08b8e425eeaa69085cbe86e848f2f5650.zip blt-7e8909a08b8e425eeaa69085cbe86e848f2f5650.tar.gz blt-7e8909a08b8e425eeaa69085cbe86e848f2f5650.tar.bz2 |
backout tcl/tk 8.6.9
Diffstat (limited to 'tk8.6/generic/tkStubLib.c')
-rw-r--r-- | tk8.6/generic/tkStubLib.c | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/tk8.6/generic/tkStubLib.c b/tk8.6/generic/tkStubLib.c deleted file mode 100644 index ea48894..0000000 --- a/tk8.6/generic/tkStubLib.c +++ /dev/null @@ -1,146 +0,0 @@ -/* - * tkStubLib.c -- - * - * Stub object that will be statically linked into extensions that want - * to access Tk. - * - * Copyright (c) 1998-1999 by Scriptics Corporation. - * Copyright (c) 1998 Paul Duffin. - * - * See the file "license.terms" for information on usage and redistribution of - * this file, and for a DISCLAIMER OF ALL WARRANTIES. - */ - -#include "tkInt.h" - -#ifdef _WIN32 -#include "tkWinInt.h" -#endif - -#ifdef MAC_OSX_TK -#include "tkMacOSXInt.h" -#endif - -#if !(defined(_WIN32) || defined(MAC_OSX_TK)) -#include "tkUnixInt.h" -#endif - -/* TODO: These ought to come in some other way */ -#include "tkPlatDecls.h" -#include "tkIntXlibDecls.h" - -MODULE_SCOPE const TkStubs *tkStubsPtr; -MODULE_SCOPE const TkPlatStubs *tkPlatStubsPtr; -MODULE_SCOPE const TkIntStubs *tkIntStubsPtr; -MODULE_SCOPE const TkIntPlatStubs *tkIntPlatStubsPtr; -MODULE_SCOPE const TkIntXlibStubs *tkIntXlibStubsPtr; - -const TkStubs *tkStubsPtr = NULL; -const TkPlatStubs *tkPlatStubsPtr = NULL; -const TkIntStubs *tkIntStubsPtr = NULL; -const TkIntPlatStubs *tkIntPlatStubsPtr = NULL; -const TkIntXlibStubs *tkIntXlibStubsPtr = NULL; - -/* - * Use our own isdigit to avoid linking to libc on windows - */ - -static int -isDigit(const int c) -{ - return (c >= '0' && c <= '9'); -} - -/* - *---------------------------------------------------------------------- - * - * Tk_InitStubs -- - * - * Checks that the correct version of Tk is loaded and that it supports - * stubs. It then initialises the stub table pointers. - * - * Results: - * The actual version of Tk that satisfies the request, or NULL to - * indicate that an error occurred. - * - * Side effects: - * Sets the stub table pointers. - * - *---------------------------------------------------------------------- - */ -#undef Tk_InitStubs -MODULE_SCOPE const char * -Tk_InitStubs( - Tcl_Interp *interp, - const char *version, - int exact) -{ - const char *packageName = "Tk"; - const char *errMsg = NULL; - ClientData clientData = NULL; - const char *actualVersion = tclStubsPtr->tcl_PkgRequireEx(interp, - packageName, version, 0, &clientData); - const TkStubs *stubsPtr = clientData; - - if (actualVersion == NULL) { - return NULL; - } - - if (exact) { - const char *p = version; - int count = 0; - - while (*p) { - count += !isDigit(*p++); - } - if (count == 1) { - const char *q = actualVersion; - - p = version; - while (*p && (*p == *q)) { - p++; q++; - } - if (*p || isDigit(*q)) { - /* Construct error message */ - tclStubsPtr->tcl_PkgRequireEx(interp, packageName, version, 1, NULL); - return NULL; - } - } else { - actualVersion = tclStubsPtr->tcl_PkgRequireEx(interp, packageName, - version, 1, NULL); - if (actualVersion == NULL) { - return NULL; - } - } - } - if (stubsPtr == NULL) { - errMsg = "missing stub table pointer"; - } else { - tkStubsPtr = stubsPtr; - if (stubsPtr->hooks) { - tkPlatStubsPtr = stubsPtr->hooks->tkPlatStubs; - tkIntStubsPtr = stubsPtr->hooks->tkIntStubs; - tkIntPlatStubsPtr = stubsPtr->hooks->tkIntPlatStubs; - tkIntXlibStubsPtr = stubsPtr->hooks->tkIntXlibStubs; - } else { - tkPlatStubsPtr = NULL; - tkIntStubsPtr = NULL; - tkIntPlatStubsPtr = NULL; - tkIntXlibStubsPtr = NULL; - } - return actualVersion; - } - tclStubsPtr->tcl_ResetResult(interp); - tclStubsPtr->tcl_AppendResult(interp, "Error loading ", packageName, - " (requested version ", version, ", actual version ", - actualVersion, "): ", errMsg, NULL); - return NULL; -} - -/* - * Local Variables: - * mode: c - * c-basic-offset: 4 - * fill-column: 78 - * End: - */ |