From ef3d02ebb955d01b2a8484d7c25f5ced4bf2036d Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 21 Jul 1997 14:54:36 +0000 Subject: [PATCH] Removed some variables that are used to exchange data between import.c and importdl.c: the MAXSUFFIXSIZE macro is now defined in importdl.h, and the modules dictionary is now passed using PyImport_GetModuleDict(). Also undefine USE_SHLIB for AIX -- in AIX 4.2 and up, dlfcn.h exists but we don't want to use it. --- Python/import.c | 4 ++-- Python/importdl.c | 11 ++--------- Python/importdl.h | 5 ++--- 3 files changed, 6 insertions(+), 14 deletions(-) diff --git a/Python/import.c b/Python/import.c index 2a4b5cc8732..aa1272bcc89 100644 --- a/Python/import.c +++ b/Python/import.c @@ -61,7 +61,7 @@ extern long PyOS_GetLastModificationTime(); /* In getmtime.c */ /* New way to come up with the magic number: (YEAR-1995), MONTH, DAY */ #define MAGIC (20121 | ((long)'\r'<<16) | ((long)'\n'<<24)) -PyObject *_PyImport_Modules; /* This becomes sys.modules */ +static PyObject *_PyImport_Modules; /* This becomes sys.modules */ /* Initialize things */ @@ -461,7 +461,7 @@ find_module(name, path, buf, buflen, p_fp) if (!PyString_Check(v)) continue; len = PyString_Size(v); - if (len + 2 + namelen + _PyImport_MaxSuffixSize >= buflen) + if (len + 2 + namelen + MAXSUFFIXSIZE >= buflen) continue; /* Too long */ strcpy(buf, PyString_AsString(v)); if ((int)strlen(buf) != len) diff --git a/Python/importdl.c b/Python/importdl.c index 436a8de5337..44f57ac358a 100644 --- a/Python/importdl.c +++ b/Python/importdl.c @@ -126,6 +126,7 @@ typedef void (*dl_funcptr)(); #endif #ifdef _AIX +#undef USE_SHLIB /* AIX 4.2 and higher have dlfcn.h but we don't want it */ #define DYNAMIC_LINK #define SHORT_EXT ".so" #define LONG_EXT "module.so" @@ -201,14 +202,6 @@ extern char *Py_GetProgramName(); #endif /* DYNAMIC_LINK */ -/* Max length of module suffix searched for -- accommodates "module.slb" */ -#ifndef MAXSUFFIXSIZE -#define MAXSUFFIXSIZE 12 -#endif - -/* Pass it on to import.c */ -int _PyImport_MaxSuffixSize = MAXSUFFIXSIZE; - struct filedescr _PyImport_Filetab[] = { #ifdef SHORT_EXT {SHORT_EXT, "rb", C_EXTENSION}, @@ -527,7 +520,7 @@ _PyImport_LoadDynamicModule(name, pathname, fp) (*p)(); /* XXX Need check for err_occurred() here */ - m = PyDict_GetItemString(_PyImport_Modules, name); + m = PyDict_GetItemString(PyImport_GetModuleDict(), name); if (m == NULL) { if (PyErr_Occurred() == NULL) PyErr_SetString(PyExc_SystemError, diff --git a/Python/importdl.h b/Python/importdl.h index f1bdeab8be3..4587841d1ca 100644 --- a/Python/importdl.h +++ b/Python/importdl.h @@ -42,9 +42,8 @@ extern struct filedescr { enum filetype type; } _PyImport_Filetab[]; -extern PyObject *_PyImport_Modules; - extern PyObject *_PyImport_LoadDynamicModule Py_PROTO((char *name, char *pathname, FILE *)); -extern int _PyImport_MaxSuffixSize; +/* Max length of module suffix searched for -- accommodates "module.slb" */ +#define MAXSUFFIXSIZE 12