diff options
Diffstat (limited to 'PC')
-rw-r--r-- | PC/VC6/_multiprocessing.dsp | 8 | ||||
-rw-r--r-- | PC/VC6/pythoncore.dsp | 4 | ||||
-rw-r--r-- | PC/VC6/readme.txt | 4 | ||||
-rw-r--r-- | PC/VS7.1/pythoncore.vcproj | 24 | ||||
-rw-r--r-- | PC/VS7.1/readme.txt | 4 | ||||
-rw-r--r-- | PC/VS8.0/_multiprocessing.vcproj | 12 | ||||
-rw-r--r-- | PC/VS8.0/build_ssl.bat | 4 | ||||
-rw-r--r-- | PC/VS8.0/kill_python.c | 2 | ||||
-rw-r--r-- | PC/VS8.0/pyproject.vsprops | 2 | ||||
-rw-r--r-- | PC/_msi.c | 18 | ||||
-rw-r--r-- | PC/_subprocess.c | 85 | ||||
-rw-r--r-- | PC/config.c | 2 | ||||
-rw-r--r-- | PC/example_nt/example.vcproj | 4 | ||||
-rw-r--r-- | PC/frozen_dllmain.c | 6 | ||||
-rw-r--r-- | PC/getpathp.c | 6 | ||||
-rw-r--r-- | PC/import_nt.c | 131 | ||||
-rwxr-xr-x | PC/msvcrtmodule.c | 12 | ||||
-rw-r--r-- | PC/os2emx/Makefile | 2 | ||||
-rw-r--r-- | PC/os2emx/README.os2emx | 2 | ||||
-rw-r--r-- | PC/os2emx/pyconfig.h | 2 | ||||
-rw-r--r-- | PC/os2emx/python33.def (renamed from PC/os2emx/python27.def) | 250 | ||||
-rw-r--r-- | PC/pyconfig.h | 11 | ||||
-rw-r--r-- | PC/python3.def | 1374 | ||||
-rw-r--r-- | PC/python3.mak | 12 | ||||
-rw-r--r-- | PC/python33gen.py (renamed from PC/python32gen.py) | 9 | ||||
-rw-r--r-- | PC/python33stub.def (renamed from PC/python32stub.def) | 2 | ||||
-rw-r--r-- | PC/winreg.c | 86 | ||||
-rw-r--r-- | PC/winsound.c | 2 |
28 files changed, 1053 insertions, 1027 deletions
diff --git a/PC/VC6/_multiprocessing.dsp b/PC/VC6/_multiprocessing.dsp index 2dcaf83..e1b8470 100644 --- a/PC/VC6/_multiprocessing.dsp +++ b/PC/VC6/_multiprocessing.dsp @@ -97,18 +97,10 @@ SOURCE=..\..\Modules\_multiprocessing\multiprocessing.c # End Source File
# Begin Source File
-SOURCE=..\..\Modules\_multiprocessing\pipe_connection.c
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Modules\_multiprocessing\semaphore.c
# End Source File
# Begin Source File
-SOURCE=..\..\Modules\_multiprocessing\socket_connection.c
-# End Source File
-# Begin Source File
-
SOURCE=..\..\Modules\_multiprocessing\win32_functions.c
# End Source File
# End Target
diff --git a/PC/VC6/pythoncore.dsp b/PC/VC6/pythoncore.dsp index 2afa322..61247b7 100644 --- a/PC/VC6/pythoncore.dsp +++ b/PC/VC6/pythoncore.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 largeint.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x1e000000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libc" /out:"./python32.dll"
+# ADD LINK32 largeint.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x1e000000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libc" /out:"./python33.dll"
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "pythoncore - Win32 Debug"
@@ -82,7 +82,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 largeint.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x1e000000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libc" /out:"./python32_d.dll" /pdbtype:sept
+# ADD LINK32 largeint.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x1e000000" /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libc" /out:"./python33_d.dll" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
diff --git a/PC/VC6/readme.txt b/PC/VC6/readme.txt index 4e8d237..a683527 100644 --- a/PC/VC6/readme.txt +++ b/PC/VC6/readme.txt @@ -12,7 +12,7 @@ and build the projects. The proper order to build subprojects: 1) pythoncore (this builds the main Python DLL and library files, - python32.{dll, lib} in Release mode) + python33.{dll, lib} in Release mode) 2) python (this builds the main Python executable, python.exe in Release mode) @@ -23,7 +23,7 @@ The proper order to build subprojects: to the subsystems they implement; see SUBPROJECTS below) When using the Debug setting, the output files have a _d added to -their name: python32_d.dll, python_d.exe, pyexpat_d.pyd, and so on. +their name: python33_d.dll, python_d.exe, pyexpat_d.pyd, and so on. SUBPROJECTS ----------- diff --git a/PC/VS7.1/pythoncore.vcproj b/PC/VS7.1/pythoncore.vcproj index b629df4..d882911 100644 --- a/PC/VS7.1/pythoncore.vcproj +++ b/PC/VS7.1/pythoncore.vcproj @@ -39,15 +39,15 @@ <Tool
Name="VCLinkerTool"
AdditionalDependencies="getbuildinfo.o"
- OutputFile="./python32.dll"
+ OutputFile="./python33.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
IgnoreDefaultLibraryNames="libc"
GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\./python32.pdb"
+ ProgramDatabaseFile=".\./python33.pdb"
SubSystem="2"
BaseAddress="0x1e000000"
- ImportLibrary=".\./python32.lib"
+ ImportLibrary=".\./python33.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
@@ -99,15 +99,15 @@ <Tool
Name="VCLinkerTool"
AdditionalDependencies="getbuildinfo.o"
- OutputFile="./python32_d.dll"
+ OutputFile="./python33_d.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
IgnoreDefaultLibraryNames="libc"
GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\./python32_d.pdb"
+ ProgramDatabaseFile=".\./python33_d.pdb"
SubSystem="2"
BaseAddress="0x1e000000"
- ImportLibrary=".\./python32_d.lib"
+ ImportLibrary=".\./python33_d.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"/>
@@ -166,15 +166,15 @@ Name="VCLinkerTool"
AdditionalOptions=" /MACHINE:IA64 /USELINK:MS_SDK"
AdditionalDependencies="getbuildinfo.o"
- OutputFile="./python32.dll"
+ OutputFile="./python33.dll"
LinkIncremental="1"
SuppressStartupBanner="FALSE"
IgnoreDefaultLibraryNames="libc"
GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\./python32.pdb"
+ ProgramDatabaseFile=".\./python33.pdb"
SubSystem="2"
BaseAddress="0x1e000000"
- ImportLibrary=".\./python32.lib"
+ ImportLibrary=".\./python33.lib"
TargetMachine="0"/>
<Tool
Name="VCMIDLTool"/>
@@ -233,15 +233,15 @@ Name="VCLinkerTool"
AdditionalOptions=" /MACHINE:AMD64 /USELINK:MS_SDK"
AdditionalDependencies="getbuildinfo.o"
- OutputFile="./python32.dll"
+ OutputFile="./python33.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
IgnoreDefaultLibraryNames="libc"
GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\./python32.pdb"
+ ProgramDatabaseFile=".\./python33.pdb"
SubSystem="2"
BaseAddress="0x1e000000"
- ImportLibrary=".\./python32.lib"
+ ImportLibrary=".\./python33.lib"
TargetMachine="0"/>
<Tool
Name="VCMIDLTool"/>
diff --git a/PC/VS7.1/readme.txt b/PC/VS7.1/readme.txt index 8fb069f..bfd8a70 100644 --- a/PC/VS7.1/readme.txt +++ b/PC/VS7.1/readme.txt @@ -12,7 +12,7 @@ the "Standard" toolbar"), and build the projects. The proper order to build subprojects: 1) pythoncore (this builds the main Python DLL and library files, - python26.{dll, lib} in Release mode) + python33.{dll, lib} in Release mode) NOTE: in previous releases, this subproject was named after the release number, e.g. python20. @@ -26,7 +26,7 @@ The proper order to build subprojects: test slave; see SUBPROJECTS below) When using the Debug setting, the output files have a _d added to -their name: python26_d.dll, python_d.exe, parser_d.pyd, and so on. +their name: python33_d.dll, python_d.exe, parser_d.pyd, and so on. SUBPROJECTS ----------- diff --git a/PC/VS8.0/_multiprocessing.vcproj b/PC/VS8.0/_multiprocessing.vcproj index c2bbec4..8f1cafc 100644 --- a/PC/VS8.0/_multiprocessing.vcproj +++ b/PC/VS8.0/_multiprocessing.vcproj @@ -522,10 +522,6 @@ RelativePath="..\..\Modules\_multiprocessing\multiprocessing.h"
>
</File>
- <File
- RelativePath="..\..\Modules\_multiprocessing\connection.h"
- >
- </File>
</Filter>
<Filter
Name="Source Files"
@@ -535,18 +531,10 @@ >
</File>
<File
- RelativePath="..\..\Modules\_multiprocessing\pipe_connection.c"
- >
- </File>
- <File
RelativePath="..\..\Modules\_multiprocessing\semaphore.c"
>
</File>
<File
- RelativePath="..\..\Modules\_multiprocessing\socket_connection.c"
- >
- </File>
- <File
RelativePath="..\..\Modules\_multiprocessing\win32_functions.c"
>
</File>
diff --git a/PC/VS8.0/build_ssl.bat b/PC/VS8.0/build_ssl.bat index 39c1ff0..357b08b 100644 --- a/PC/VS8.0/build_ssl.bat +++ b/PC/VS8.0/build_ssl.bat @@ -2,10 +2,10 @@ if not defined HOST_PYTHON ( if %1 EQU Debug ( set HOST_PYTHON=python_d.exe - if not exist python32_d.dll exit 1 + if not exist python33_d.dll exit 1 ) ELSE ( set HOST_PYTHON=python.exe - if not exist python32.dll exit 1 + if not exist python33.dll exit 1 ) ) %HOST_PYTHON% build_ssl.py %1 %2 %3 diff --git a/PC/VS8.0/kill_python.c b/PC/VS8.0/kill_python.c index 6b91678..bb323d3 100644 --- a/PC/VS8.0/kill_python.c +++ b/PC/VS8.0/kill_python.c @@ -106,7 +106,7 @@ main(int argc, char **argv) /* * XXX TODO: if we really wanted to be fancy, we could check the * modules for all processes (not just the python[_d].exe ones) - * and see if any of our DLLs are loaded (i.e. python32[_d].dll), + * and see if any of our DLLs are loaded (i.e. python33[_d].dll), * as that would also inhibit our ability to rebuild the solution. * Not worth loosing sleep over though; for now, a simple check * for just the python executable should be sufficient. diff --git a/PC/VS8.0/pyproject.vsprops b/PC/VS8.0/pyproject.vsprops index 6494216..4a582f1 100644 --- a/PC/VS8.0/pyproject.vsprops +++ b/PC/VS8.0/pyproject.vsprops @@ -38,7 +38,7 @@ />
<UserMacro
Name="PyDllName"
- Value="python32"
+ Value="python33"
/>
<UserMacro
Name="PythonExe"
@@ -18,7 +18,7 @@ static PyObject* uuidcreate(PyObject* obj, PyObject*args) { UUID result; - unsigned short *cresult; + wchar_t *cresult; PyObject *oresult; /* May return ok, local only, and no address. @@ -35,7 +35,7 @@ uuidcreate(PyObject* obj, PyObject*args) return NULL; } - oresult = PyUnicode_FromUnicode(cresult, wcslen(cresult)); + oresult = PyUnicode_FromWideChar(cresult, wcslen(cresult)); RpcStringFreeW(&cresult); return oresult; @@ -122,7 +122,9 @@ static FNFCIGETTEMPFILE(cb_gettempfile) static FNFCISTATUS(cb_status) { if (pv) { - PyObject *result = PyObject_CallMethod(pv, "status", "iii", typeStatus, cb1, cb2); + _Py_IDENTIFIER(status); + + PyObject *result = _PyObject_CallMethodId(pv, &PyId_status, "iii", typeStatus, cb1, cb2); if (result == NULL) return -1; Py_DECREF(result); @@ -133,7 +135,9 @@ static FNFCISTATUS(cb_status) static FNFCIGETNEXTCABINET(cb_getnextcabinet) { if (pv) { - PyObject *result = PyObject_CallMethod(pv, "getnextcabinet", "i", pccab->iCab); + _Py_IDENTIFIER(getnextcabinet); + + PyObject *result = _PyObject_CallMethodId(pv, &PyId_getnextcabinet, "i", pccab->iCab); if (result == NULL) return -1; if (!PyBytes_Check(result)) { @@ -375,7 +379,7 @@ record_getstring(msiobj* record, PyObject* args) } if (status != ERROR_SUCCESS) return msierror((int) status); - string = PyUnicode_FromUnicode(res, size); + string = PyUnicode_FromWideChar(res, size); if (buf != res) free(res); return string; @@ -397,7 +401,7 @@ record_setstring(msiobj* record, PyObject *args) { int status; int field; - Py_UNICODE *data; + wchar_t *data; if (!PyArg_ParseTuple(args, "iu:SetString", &field, &data)) return NULL; @@ -414,7 +418,7 @@ record_setstream(msiobj* record, PyObject *args) { int status; int field; - Py_UNICODE *data; + wchar_t *data; if (!PyArg_ParseTuple(args, "iu:SetStream", &field, &data)) return NULL; diff --git a/PC/_subprocess.c b/PC/_subprocess.c index 2338f30..93e51d3 100644 --- a/PC/_subprocess.c +++ b/PC/_subprocess.c @@ -329,12 +329,9 @@ gethandle(PyObject* obj, char* name) static PyObject* getenvironment(PyObject* environment) { - int i; - Py_ssize_t envsize; - PyObject* out = NULL; - PyObject* keys; - PyObject* values; - Py_UNICODE* p; + Py_ssize_t i, envsize, totalsize; + Py_UCS4 *buffer = NULL, *p, *end; + PyObject *keys, *values, *res; /* convert environment dictionary to windows enviroment string */ if (! PyMapping_Check(environment)) { @@ -350,14 +347,8 @@ getenvironment(PyObject* environment) if (!keys || !values) goto error; - out = PyUnicode_FromUnicode(NULL, 2048); - if (! out) - goto error; - - p = PyUnicode_AS_UNICODE(out); - + totalsize = 1; /* trailing null character */ for (i = 0; i < envsize; i++) { - Py_ssize_t ksize, vsize, totalsize; PyObject* key = PyList_GET_ITEM(keys, i); PyObject* value = PyList_GET_ITEM(values, i); @@ -366,36 +357,42 @@ getenvironment(PyObject* environment) "environment can only contain strings"); goto error; } - ksize = PyUnicode_GET_SIZE(key); - vsize = PyUnicode_GET_SIZE(value); - totalsize = (p - PyUnicode_AS_UNICODE(out)) + ksize + 1 + - vsize + 1 + 1; - if (totalsize > PyUnicode_GET_SIZE(out)) { - Py_ssize_t offset = p - PyUnicode_AS_UNICODE(out); - PyUnicode_Resize(&out, totalsize + 1024); - p = PyUnicode_AS_UNICODE(out) + offset; - } - Py_UNICODE_COPY(p, PyUnicode_AS_UNICODE(key), ksize); - p += ksize; + totalsize += PyUnicode_GET_LENGTH(key) + 1; /* +1 for '=' */ + totalsize += PyUnicode_GET_LENGTH(value) + 1; /* +1 for '\0' */ + } + + buffer = PyMem_Malloc(totalsize * sizeof(Py_UCS4)); + if (! buffer) + goto error; + p = buffer; + end = buffer + totalsize; + + for (i = 0; i < envsize; i++) { + PyObject* key = PyList_GET_ITEM(keys, i); + PyObject* value = PyList_GET_ITEM(values, i); + if (!PyUnicode_AsUCS4(key, p, end - p, 0)) + goto error; + p += PyUnicode_GET_LENGTH(key); *p++ = '='; - Py_UNICODE_COPY(p, PyUnicode_AS_UNICODE(value), vsize); - p += vsize; + if (!PyUnicode_AsUCS4(value, p, end - p, 0)) + goto error; + p += PyUnicode_GET_LENGTH(value); *p++ = '\0'; } /* add trailing null byte */ *p++ = '\0'; - PyUnicode_Resize(&out, p - PyUnicode_AS_UNICODE(out)); - - /* PyObject_Print(out, stdout, 0); */ + assert(p == end); Py_XDECREF(keys); Py_XDECREF(values); - return out; + res = PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND, buffer, p - buffer); + PyMem_Free(buffer); + return res; error: - Py_XDECREF(out); + PyMem_Free(buffer); Py_XDECREF(keys); Py_XDECREF(values); return NULL; @@ -420,15 +417,16 @@ sp_CreateProcess(PyObject* self, PyObject* args) PROCESS_INFORMATION pi; STARTUPINFOW si; PyObject* environment; + wchar_t *wenvironment; - Py_UNICODE* application_name; - Py_UNICODE* command_line; + wchar_t* application_name; + wchar_t* command_line; PyObject* process_attributes; /* ignored */ PyObject* thread_attributes; /* ignored */ int inherit_handles; int creation_flags; PyObject* env_mapping; - Py_UNICODE* current_directory; + wchar_t* current_directory; PyObject* startup_info; if (! PyArg_ParseTuple(args, "ZZOOiiOZO:CreateProcess", @@ -456,12 +454,20 @@ sp_CreateProcess(PyObject* self, PyObject* args) if (PyErr_Occurred()) return NULL; - if (env_mapping == Py_None) - environment = NULL; - else { + if (env_mapping != Py_None) { environment = getenvironment(env_mapping); if (! environment) return NULL; + wenvironment = PyUnicode_AsUnicode(environment); + if (wenvironment == NULL) + { + Py_XDECREF(environment); + return NULL; + } + } + else { + environment = NULL; + wenvironment = NULL; } Py_BEGIN_ALLOW_THREADS @@ -471,7 +477,7 @@ sp_CreateProcess(PyObject* self, PyObject* args) NULL, inherit_handles, creation_flags | CREATE_UNICODE_ENVIRONMENT, - environment ? PyUnicode_AS_UNICODE(environment) : NULL, + wenvironment, current_directory, &si, &pi); @@ -609,7 +615,7 @@ sp_GetModuleFileName(PyObject* self, PyObject* args) if (! result) return PyErr_SetFromWindowsErr(GetLastError()); - return PyUnicode_FromUnicode(filename, Py_UNICODE_strlen(filename)); + return PyUnicode_FromWideChar(filename, wcslen(filename)); } static PyMethodDef sp_functions[] = { @@ -682,6 +688,7 @@ PyInit__subprocess() defint(d, "SW_HIDE", SW_HIDE); defint(d, "INFINITE", INFINITE); defint(d, "WAIT_OBJECT_0", WAIT_OBJECT_0); + defint(d, "WAIT_TIMEOUT", WAIT_TIMEOUT); defint(d, "CREATE_NEW_CONSOLE", CREATE_NEW_CONSOLE); defint(d, "CREATE_NEW_PROCESS_GROUP", CREATE_NEW_PROCESS_GROUP); diff --git a/PC/config.c b/PC/config.c index 1fc2b40..be51b55 100644 --- a/PC/config.c +++ b/PC/config.c @@ -12,6 +12,7 @@ extern PyObject* PyInit_audioop(void); extern PyObject* PyInit_binascii(void); extern PyObject* PyInit_cmath(void); extern PyObject* PyInit_errno(void); +extern PyObject* PyInit_faulthandler(void); extern PyObject* PyInit_gc(void); extern PyObject* PyInit_math(void); extern PyObject* PyInit__md5(void); @@ -82,6 +83,7 @@ struct _inittab _PyImport_Inittab[] = { {"binascii", PyInit_binascii}, {"cmath", PyInit_cmath}, {"errno", PyInit_errno}, + {"faulthandler", PyInit_faulthandler}, {"gc", PyInit_gc}, {"math", PyInit_math}, {"nt", PyInit_nt}, /* Use the NT os functions, not posix */ diff --git a/PC/example_nt/example.vcproj b/PC/example_nt/example.vcproj index f924c7d..fba00b6 100644 --- a/PC/example_nt/example.vcproj +++ b/PC/example_nt/example.vcproj @@ -39,7 +39,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/export:initexample"
- AdditionalDependencies="odbc32.lib odbccp32.lib python26.lib"
+ AdditionalDependencies="odbc32.lib odbccp32.lib python33.lib"
OutputFile=".\Release/example.pyd"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
@@ -105,7 +105,7 @@ <Tool
Name="VCLinkerTool"
AdditionalOptions="/export:initexample"
- AdditionalDependencies="odbc32.lib odbccp32.lib python26_d.lib"
+ AdditionalDependencies="odbc32.lib odbccp32.lib python33_d.lib"
OutputFile=".\Debug/example_d.pyd"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
diff --git a/PC/frozen_dllmain.c b/PC/frozen_dllmain.c index a8cc885..0156c50 100644 --- a/PC/frozen_dllmain.c +++ b/PC/frozen_dllmain.c @@ -77,7 +77,7 @@ void PyWinFreeze_ExeTerm(void) { // Must go backwards char **modName; - for (modName = possibleModules+(sizeof(possibleModules) / sizeof(char *))-2; + for (modName = possibleModules+Py_ARRAY_LENGTH(possibleModules)-2; modName >= possibleModules; *modName--) { /* printf("Terminating '%s'\n", *modName);*/ @@ -103,7 +103,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) { // Must go backwards char **modName; - for (modName = possibleModules+(sizeof(possibleModules) / sizeof(char *))-2; + for (modName = possibleModules+Py_ARRAY_LENGTH(possibleModules)-2; modName >= possibleModules; *modName--) CallModuleDllMain(*modName, DLL_PROCESS_DETACH); @@ -118,7 +118,7 @@ BOOL CallModuleDllMain(char *modName, DWORD dwReason) BOOL (WINAPI * pfndllmain)(HINSTANCE, DWORD, LPVOID); char funcName[255]; - HMODULE hmod = GetModuleHandle(NULL); + HMODULE hmod = GetModuleHandleW(NULL); strcpy(funcName, "_DllMain"); strcat(funcName, modName); strcat(funcName, "@12"); // stdcall convention. diff --git a/PC/getpathp.c b/PC/getpathp.c index cd3a4b2..8921aa0 100644 --- a/PC/getpathp.c +++ b/PC/getpathp.c @@ -251,7 +251,7 @@ getpythonregpath(HKEY keyBase, int skipcore) if (keyBuf==NULL) goto done; memcpy(keyBufPtr, keyPrefix, sizeof(keyPrefix)-sizeof(WCHAR)); - keyBufPtr += sizeof(keyPrefix)/sizeof(WCHAR) - 1; + keyBufPtr += Py_ARRAY_LENGTH(keyPrefix) - 1; mbstowcs(keyBufPtr, PyWin_DLLVersionString, versionLen); keyBufPtr += versionLen; /* NULL comes with this one! */ @@ -708,8 +708,8 @@ Py_GetProgramFullPath(void) return progpath; } -/* Load python3.dll before loading any extension module that might refer - to it. That way, we can be sure that always the python3.dll corresponding +/* Load python3.dll before loading any extension module that might refer + to it. That way, we can be sure that always the python3.dll corresponding to this python DLL is loaded, not a python3.dll that might be on the path by chance. Return whether the DLL was found. diff --git a/PC/import_nt.c b/PC/import_nt.c index 196a774..b9b36dc 100644 --- a/PC/import_nt.c +++ b/PC/import_nt.c @@ -15,72 +15,103 @@ /* a string loaded from the DLL at startup */ extern const char *PyWin_DLLVersionString; -FILE *PyWin_FindRegisteredModule(const char *moduleName, - struct filedescr **ppFileDesc, - char *pathBuf, - Py_ssize_t pathLen) +/* Find a module on Windows. + + Read the registry Software\Python\PythonCore\<version>\Modules\<name> (or + Software\Python\PythonCore\<version>\Modules\<name>\Debug in debug mode) + from HKEY_CURRENT_USER, or HKEY_LOCAL_MACHINE. Find the file descriptor using + the file extension. Open the file. + + On success, write the file descriptor into *ppFileDesc, the module path + (Unicode object) into *pPath, and return the opened file object. If the + module cannot be found (e.g. no registry key or the file doesn't exist), + return NULL. On error, raise a Python exception and return NULL. + */ +FILE * +_PyWin_FindRegisteredModule(PyObject *moduleName, + struct filedescr **ppFileDesc, + PyObject **pPath) { - char *moduleKey; - const char keyPrefix[] = "Software\\Python\\PythonCore\\"; - const char keySuffix[] = "\\Modules\\"; -#ifdef _DEBUG - /* In debugging builds, we _must_ have the debug version - * registered. - */ - const char debugString[] = "\\Debug"; -#else - const char debugString[] = ""; -#endif - struct filedescr *fdp = NULL; - FILE *fp; - HKEY keyBase = HKEY_CURRENT_USER; + wchar_t pathBuf[MAXPATHLEN+1]; + int pathLen = MAXPATHLEN+1; + PyObject *path, *moduleKey, *suffix; + wchar_t *wmoduleKey, *wsuffix; + struct filedescr *fdp; + HKEY keyBase; int modNameSize; long regStat; + Py_ssize_t extLen; + FILE *fp; - /* Calculate the size for the sprintf buffer. - * Get the size of the chars only, plus 1 NULL. - */ - size_t bufSize = sizeof(keyPrefix)-1 + - strlen(PyWin_DLLVersionString) + - sizeof(keySuffix) + - strlen(moduleName) + - sizeof(debugString) - 1; - /* alloca == no free required, but memory only local to fn, - * also no heap fragmentation! - */ - moduleKey = alloca(bufSize); - PyOS_snprintf(moduleKey, bufSize, - "Software\\Python\\PythonCore\\%s\\Modules\\%s%s", - PyWin_DLLVersionString, moduleName, debugString); + moduleKey = PyUnicode_FromFormat( +#ifdef _DEBUG + /* In debugging builds, we _must_ have the debug version registered */ + "Software\\Python\\PythonCore\\%s\\Modules\\%U\\Debug", +#else + "Software\\Python\\PythonCore\\%s\\Modules\\%U", +#endif + PyWin_DLLVersionString, moduleName); + if (moduleKey == NULL) + return NULL; + wmoduleKey = PyUnicode_AsUnicode(moduleKey); + if (wmoduleKey == NULL) { + Py_DECREF(moduleKey); + return NULL; + } - assert(pathLen < INT_MAX); - modNameSize = (int)pathLen; - regStat = RegQueryValue(keyBase, moduleKey, pathBuf, &modNameSize); + keyBase = HKEY_CURRENT_USER; + modNameSize = pathLen; + regStat = RegQueryValueW(keyBase, wmoduleKey, + pathBuf, &modNameSize); if (regStat != ERROR_SUCCESS) { /* No user setting - lookup in machine settings */ keyBase = HKEY_LOCAL_MACHINE; /* be anal - failure may have reset size param */ - modNameSize = (int)pathLen; - regStat = RegQueryValue(keyBase, moduleKey, - pathBuf, &modNameSize); - - if (regStat != ERROR_SUCCESS) + modNameSize = pathLen; + regStat = RegQueryValueW(keyBase, wmoduleKey, + pathBuf, &modNameSize); + if (regStat != ERROR_SUCCESS) { + Py_DECREF(moduleKey); return NULL; + } + } + Py_DECREF(moduleKey); + if (modNameSize < 3) { + /* path shorter than "a.o" or negative length (cast to + size_t is wrong) */ + return NULL; } /* use the file extension to locate the type entry. */ for (fdp = _PyImport_Filetab; fdp->suffix != NULL; fdp++) { - size_t extLen = strlen(fdp->suffix); - assert(modNameSize >= 0); /* else cast to size_t is wrong */ - if ((size_t)modNameSize > extLen && - strnicmp(pathBuf + ((size_t)modNameSize-extLen-1), - fdp->suffix, - extLen) == 0) + suffix = PyUnicode_FromString(fdp->suffix); + if (suffix == NULL) + return NULL; + wsuffix = PyUnicode_AsUnicodeAndSize(suffix, &extLen); + if (wsuffix == NULL) { + Py_DECREF(suffix); + return NULL; + } + if ((Py_ssize_t)modNameSize > extLen && + _wcsnicmp(pathBuf + ((Py_ssize_t)modNameSize-extLen-1), + wsuffix, + extLen) == 0) + { + Py_DECREF(suffix); break; + } + Py_DECREF(suffix); } if (fdp->suffix == NULL) return NULL; - fp = fopen(pathBuf, fdp->mode); - if (fp != NULL) - *ppFileDesc = fdp; + path = PyUnicode_FromWideChar(pathBuf, wcslen(pathBuf)); + if (path == NULL) + return NULL; + fp = _Py_fopen(path, fdp->mode); + if (fp == NULL) { + Py_DECREF(path); + return NULL; + } + *pPath = path; + *ppFileDesc = fdp; return fp; } diff --git a/PC/msvcrtmodule.c b/PC/msvcrtmodule.c index 166df03..f277b0a 100755 --- a/PC/msvcrtmodule.c +++ b/PC/msvcrtmodule.c @@ -211,8 +211,7 @@ cannot be read with this function."); static PyObject * msvcrt_getwch(PyObject *self, PyObject *args) { - Py_UNICODE ch; - Py_UNICODE u[1]; + wchar_t ch; if (!PyArg_ParseTuple(args, ":getwch")) return NULL; @@ -220,8 +219,7 @@ msvcrt_getwch(PyObject *self, PyObject *args) Py_BEGIN_ALLOW_THREADS ch = _getwch(); Py_END_ALLOW_THREADS - u[0] = ch; - return PyUnicode_FromUnicode(u, 1); + return PyUnicode_FromOrdinal(ch); } PyDoc_STRVAR(getwch_doc, @@ -256,8 +254,7 @@ a printable character."); static PyObject * msvcrt_getwche(PyObject *self, PyObject *args) { - Py_UNICODE ch; - Py_UNICODE s[1]; + wchar_t ch; if (!PyArg_ParseTuple(args, ":getwche")) return NULL; @@ -265,8 +262,7 @@ msvcrt_getwche(PyObject *self, PyObject *args) Py_BEGIN_ALLOW_THREADS ch = _getwche(); Py_END_ALLOW_THREADS - s[0] = ch; - return PyUnicode_FromUnicode(s, 1); + return PyUnicode_FromOrdinal(ch); } PyDoc_STRVAR(getwche_doc, diff --git a/PC/os2emx/Makefile b/PC/os2emx/Makefile index d9cded7..800610e 100644 --- a/PC/os2emx/Makefile +++ b/PC/os2emx/Makefile @@ -237,7 +237,7 @@ $(OUT)%$O: %.c # Output file names PYTHON_VER= 2.6 -PYTHON_LIB= python26 +PYTHON_LIB= python33 PYTHON.LIB= $(PYTHON_LIB)_s$A PYTHON.IMPLIB= $(PYTHON_LIB)$A ifeq ($(EXEOMF),yes) diff --git a/PC/os2emx/README.os2emx b/PC/os2emx/README.os2emx index fcf55d2..61cf6df 100644 --- a/PC/os2emx/README.os2emx +++ b/PC/os2emx/README.os2emx @@ -305,7 +305,7 @@ Procedure to be installed in a directory other than the PYTHONHOME directory, set the value of the Makefile variable EXE_DIR to the appropriate directory. -3. If you wish the Python core DLL (python26.dll) to be installed in a +3. If you wish the Python core DLL (python33.dll) to be installed in a directory other than the directory in which the Python executables are installed (by default, the PYTHONHOME directory), set the value of the Makefile variable DLL_DIR to the appropriate directory. This DLL must diff --git a/PC/os2emx/pyconfig.h b/PC/os2emx/pyconfig.h index 380e19c..e56105a 100644 --- a/PC/os2emx/pyconfig.h +++ b/PC/os2emx/pyconfig.h @@ -1,6 +1,8 @@ #ifndef Py_CONFIG_H #define Py_CONFIG_H +#error "PEP 11: OS/2 is now unsupported, code will be removed in Python 3.4" + /* config.h. * At some time in the past, generated automatically by/from configure. * now maintained manually. diff --git a/PC/os2emx/python27.def b/PC/os2emx/python33.def index d87dd76..256726b 100644 --- a/PC/os2emx/python27.def +++ b/PC/os2emx/python33.def @@ -1,72 +1,72 @@ -LIBRARY python26 INITINSTANCE TERMINSTANCE +LIBRARY python33 INITINSTANCE TERMINSTANCE DESCRIPTION "Python 2.6 Core DLL" PROTMODE DATA MULTIPLE NONSHARED EXPORTS -; From python26_s.lib(config) +; From python33_s.lib(config) "_PyImport_Inittab" -; From python26_s.lib(dlfcn) +; From python33_s.lib(dlfcn) ; "dlopen" ; "dlsym" ; "dlclose" ; "dlerror" -; From python26_s.lib(getpathp) +; From python33_s.lib(getpathp) "Py_GetProgramFullPath" "Py_GetPrefix" "Py_GetExecPrefix" "Py_GetPath" -; From python26_s.lib(getbuildinfo) +; From python33_s.lib(getbuildinfo) "Py_GetBuildInfo" "_Py_svnversion" -; From python26_s.lib(main) +; From python33_s.lib(main) "Py_Main" "Py_GetArgcArgv" -; From python26_s.lib(acceler) +; From python33_s.lib(acceler) "PyGrammar_AddAccelerators" "PyGrammar_RemoveAccelerators" -; From python26_s.lib(grammar1) +; From python33_s.lib(grammar1) "PyGrammar_FindDFA" "PyGrammar_LabelRepr" -; From python26_s.lib(listnode) +; From python33_s.lib(listnode) "PyNode_ListTree" -; From python26_s.lib(node) +; From python33_s.lib(node) "PyNode_New" "PyNode_AddChild" "PyNode_Free" -; From python26_s.lib(parser) +; From python33_s.lib(parser) "PyParser_AddToken" "PyParser_New" "PyParser_Delete" -; From python26_s.lib(parsetok) +; From python33_s.lib(parsetok) "PyParser_ParseString" "PyParser_ParseStringFlagsFilename" "PyParser_ParseFile" "PyParser_ParseFileFlags" "PyParser_ParseStringFlags" -; From python26_s.lib(bitset) +; From python33_s.lib(bitset) "_Py_newbitset" "_Py_delbitset" "_Py_addbit" "_Py_samebitset" "_Py_mergebitset" -; From python26_s.lib(metagrammar) +; From python33_s.lib(metagrammar) "_Py_meta_grammar" "Py_meta_grammar" -; From python26_s.lib(tokenizer) +; From python33_s.lib(tokenizer) "PyToken_OneChar" "PyToken_TwoChars" "PyToken_ThreeChars" @@ -76,14 +76,14 @@ EXPORTS "PyTokenizer_Get" "_PyParser_TokenNames" -; From python26_s.lib(myreadline) +; From python33_s.lib(myreadline) "_PyOS_ReadlineTState" "PyOS_ReadlineFunctionPointer" "PyOS_StdioReadline" "PyOS_Readline" "PyOS_InputHook" -; From python26_s.lib(abstract) +; From python33_s.lib(abstract) "_PyObject_LengthHint" "PyMapping_Size" "PyObject_CallMethod" @@ -174,13 +174,13 @@ EXPORTS "PyObject_IsInstance" "PyObject_IsSubclass" -; From python26_s.lib(boolobject) +; From python33_s.lib(boolobject) "PyBool_FromLong" "PyBool_Type" "_Py_ZeroStruct" "_Py_TrueStruct" -; From python26_s.lib(bufferobject) +; From python33_s.lib(bufferobject) "PyBuffer_FromObject" "PyBuffer_FromReadWriteObject" "PyBuffer_FromMemory" @@ -188,13 +188,13 @@ EXPORTS "PyBuffer_New" "PyBuffer_Type" -; From python26_s.lib(cellobject) +; From python33_s.lib(cellobject) "PyCell_New" "PyCell_Get" "PyCell_Set" "PyCell_Type" -; From python26_s.lib(classobject) +; From python33_s.lib(classobject) "PyClass_New" "PyClass_IsSubclass" "PyInstance_New" @@ -209,7 +209,7 @@ EXPORTS "PyInstance_Type" "PyMethod_Type" -; From python26_s.lib(capsule) +; From python33_s.lib(capsule) "PyCapsule_GetContext" "PyCapsule_GetDestructor" "PyCapsule_GetName" @@ -222,7 +222,7 @@ EXPORTS "PyCapsule_SetName" "PyCapsule_SetPointer" -; From python26_s.lib(cobject) +; From python33_s.lib(cobject) "PyCObject_FromVoidPtr" "PyCObject_FromVoidPtrAndDesc" "PyCObject_AsVoidPtr" @@ -231,13 +231,13 @@ EXPORTS "PyCObject_SetVoidPtr" "PyCObject_Type" -; From python26_s.lib(codeobject) +; From python33_s.lib(codeobject) "PyCode_New" "PyCode_Addr2Line" "PyCode_CheckLineNumber" "PyCode_Type" -; From python26_s.lib(complexobject) +; From python33_s.lib(complexobject) "_Py_c_pow" "_Py_c_sum" "_Py_c_diff" @@ -251,7 +251,7 @@ EXPORTS "PyComplex_AsCComplex" "PyComplex_Type" -; From python26_s.lib(descrobject) +; From python33_s.lib(descrobject) "PyWrapper_New" "PyDescr_NewMethod" "PyDescr_NewClassMethod" @@ -262,7 +262,7 @@ EXPORTS "PyWrapperDescr_Type" "PyProperty_Type" -; From python26_s.lib(dictobject) +; From python33_s.lib(dictobject) "PyDict_New" "PyDict_GetItem" "PyDict_SetItem" @@ -286,11 +286,11 @@ EXPORTS "PyDictIterValue_Type" "PyDictIterItem_Type" -; From python26_s.lib(enumobject) +; From python33_s.lib(enumobject) "PyEnum_Type" "PyReversed_Type" -; From python26_s.lib(fileobject) +; From python33_s.lib(fileobject) "PyFile_FromString" "Py_UniversalNewlineFread" "PyFile_GetLine" @@ -306,7 +306,7 @@ EXPORTS "PyFile_Name" "PyFile_Type" -; From python26_s.lib(floatobject) +; From python33_s.lib(floatobject) "PyFloat_FromString" "PyFloat_AsDouble" "PyFloat_Fini" @@ -321,7 +321,7 @@ EXPORTS "PyFloat_AsStringEx" "PyFloat_Type" -; From python26_s.lib(frameobject) +; From python33_s.lib(frameobject) "PyFrame_New" "PyFrame_FastToLocals" "PyFrame_LocalsToFast" @@ -331,7 +331,7 @@ EXPORTS "PyFrame_BlockPop" "PyFrame_Type" -; From python26_s.lib(funcobject) +; From python33_s.lib(funcobject) "PyFunction_New" "PyFunction_GetCode" "PyFunction_GetGlobals" @@ -346,12 +346,12 @@ EXPORTS "PyClassMethod_Type" "PyStaticMethod_Type" -; From python26_s.lib(genobject) +; From python33_s.lib(genobject) "PyGen_New" "PyGen_NeedsFinalizing" "PyGen_Type" -; From python26_s.lib(intobject) +; From python33_s.lib(intobject) "PyInt_AsLong" "PyInt_AsUnsignedLongMask" "PyInt_AsUnsignedLongLongMask" @@ -366,13 +366,13 @@ EXPORTS "_PyInt_Init" "PyInt_Type" -; From python26_s.lib(iterobject) +; From python33_s.lib(iterobject) "PySeqIter_New" "PyCallIter_New" "PySeqIter_Type" "PyCallIter_Type" -; From python26_s.lib(listobject) +; From python33_s.lib(listobject) "PyList_New" "PyList_Append" "PyList_Size" @@ -390,7 +390,7 @@ EXPORTS "PyListIter_Type" "PyListRevIter_Type" -; From python26_s.lib(longobject) +; From python33_s.lib(longobject) "PyLong_FromDouble" "PyLong_AsLong" "_PyLong_AsSsize_t" @@ -420,7 +420,7 @@ EXPORTS "PyLong_Type" "_PyLong_DigitValue" -; From python26_s.lib(methodobject) +; From python33_s.lib(methodobject) "PyCFunction_Call" "Py_FindMethodInChain" "PyCFunction_GetFunction" @@ -432,7 +432,7 @@ EXPORTS "PyCFunction_New" "PyCFunction_Type" -; From python26_s.lib(moduleobject) +; From python33_s.lib(moduleobject) "PyModule_New" "_PyModule_Clear" "PyModule_GetDict" @@ -440,7 +440,7 @@ EXPORTS "PyModule_GetFilename" "PyModule_Type" -; From python26_s.lib(object) +; From python33_s.lib(object) "Py_DivisionWarningFlag" "PyObject_Str" "PyObject_Repr" @@ -493,15 +493,15 @@ EXPORTS "_PyTrash_delete_nesting" "_PyTrash_delete_later" -; From python26_s.lib(obmalloc) +; From python33_s.lib(obmalloc) "PyObject_Malloc" "PyObject_Free" "PyObject_Realloc" -; From python26_s.lib(rangeobject) +; From python33_s.lib(rangeobject) "PyRange_Type" -; From python26_s.lib(setobject) +; From python33_s.lib(setobject) "PySet_Pop" "PySet_New" "PyFrozenSet_New" @@ -516,7 +516,7 @@ EXPORTS "PySet_Type" "PyFrozenSet_Type" -; From python26_s.lib(sliceobject) +; From python33_s.lib(sliceobject) "_PySlice_FromIndices" "PySlice_GetIndices" "PySlice_GetIndicesEx" @@ -524,7 +524,7 @@ EXPORTS "_Py_EllipsisObject" "PySlice_Type" -; From python26_s.lib(stringobject) +; From python33_s.lib(stringobject) "PyString_FromStringAndSize" "PyString_InternInPlace" "PyString_FromString" @@ -555,12 +555,12 @@ EXPORTS "PyString_Type" "PyBaseString_Type" -; From python26_s.lib(structseq) +; From python33_s.lib(structseq) "PyStructSequence_InitType" "PyStructSequence_New" "PyStructSequence_UnnamedField" -; From python26_s.lib(tupleobject) +; From python33_s.lib(tupleobject) "PyTuple_New" "PyTuple_Pack" "_PyTuple_Resize" @@ -572,7 +572,7 @@ EXPORTS "PyTuple_Type" "PyTupleIter_Type" -; From python26_s.lib(typeobject) +; From python33_s.lib(typeobject) "PyType_IsSubtype" "_PyType_Lookup" "PyType_Ready" @@ -583,7 +583,7 @@ EXPORTS "PyBaseObject_Type" "PySuper_Type" -; From python26_s.lib(unicodeobject) +; From python33_s.lib(unicodeobject) "PyUnicodeUCS2_Resize" "PyUnicodeUCS2_FromOrdinal" "PyUnicodeUCS2_FromObject" @@ -649,7 +649,7 @@ EXPORTS "PyUnicode_AsDecodedObject" "PyUnicode_Type" -; From python26_s.lib(unicodectype) +; From python33_s.lib(unicodectype) "_PyUnicode_TypeRecords" "_PyUnicodeUCS2_ToNumeric" "_PyUnicodeUCS2_IsLowercase" @@ -667,7 +667,7 @@ EXPORTS "_PyUnicodeUCS2_IsNumeric" "_PyUnicodeUCS2_IsAlpha" -; From python26_s.lib(weakrefobject) +; From python33_s.lib(weakrefobject) "PyWeakref_NewRef" "PyWeakref_NewProxy" "PyObject_ClearWeakRefs" @@ -678,7 +678,7 @@ EXPORTS "_PyWeakref_ProxyType" "_PyWeakref_CallableProxyType" -; From python26_s.lib(Python-ast) +; From python33_s.lib(Python-ast) ; "init_ast" "Module" "Interactive" @@ -737,18 +737,18 @@ EXPORTS "alias" "PyAST_mod2obj" -; From python26_s.lib(asdl) +; From python33_s.lib(asdl) "asdl_seq_new" "asdl_int_seq_new" -; From python26_s.lib(ast) +; From python33_s.lib(ast) "PyAST_FromNode" -; From python26_s.lib(bltinmodule) +; From python33_s.lib(bltinmodule) "_PyBuiltin_Init" "Py_FileSystemDefaultEncoding" -; From python26_s.lib(exceptions) +; From python33_s.lib(exceptions) "PyUnicodeEncodeError_GetStart" "PyUnicodeDecodeError_GetStart" "PyUnicodeEncodeError_GetEnd" @@ -824,7 +824,7 @@ EXPORTS "PyExc_ImportWarning" "PyExc_MemoryErrorInst" -; From python26_s.lib(ceval) +; From python33_s.lib(ceval) "PyEval_EvalFrameEx" "PyEval_CallObjectWithKeywords" "PyEval_EvalCodeEx" @@ -863,13 +863,13 @@ EXPORTS "_Py_CheckInterval" "_Py_Ticker" -; From python26_s.lib(compile) +; From python33_s.lib(compile) "_Py_Mangle" "PyAST_Compile" "PyNode_Compile" "Py_OptimizeFlag" -; From python26_s.lib(codecs) +; From python33_s.lib(codecs) "_PyCodec_Lookup" "PyCodec_Encode" "PyCodec_Decode" @@ -888,7 +888,7 @@ EXPORTS "PyCodec_LookupError" "PyCodec_StrictErrors" -; From python26_s.lib(errors) +; From python33_s.lib(errors) "PyErr_SetNone" "PyErr_SetString" "PyErr_GivenExceptionMatches" @@ -914,16 +914,16 @@ EXPORTS "PyErr_Warn" "PyErr_WarnExplicit" -; From python26_s.lib(frozen) +; From python33_s.lib(frozen) "PyImport_FrozenModules" -; From python26_s.lib(frozenmain) +; From python33_s.lib(frozenmain) "Py_FrozenMain" -; From python26_s.lib(future) +; From python33_s.lib(future) "PyFuture_FromAST" -; From python26_s.lib(getargs) +; From python33_s.lib(getargs) "PyArg_Parse" "_PyArg_Parse_SizeT" "PyArg_ParseTuple" @@ -937,22 +937,22 @@ EXPORTS "_PyArg_VaParse_SizeT" "_PyArg_VaParseTupleAndKeywords_SizeT" -; From python26_s.lib(getcompiler) +; From python33_s.lib(getcompiler) "Py_GetCompiler" -; From python26_s.lib(getcopyright) +; From python33_s.lib(getcopyright) "Py_GetCopyright" -; From python26_s.lib(getplatform) +; From python33_s.lib(getplatform) "Py_GetPlatform" -; From python26_s.lib(getversion) +; From python33_s.lib(getversion) "Py_GetVersion" -; From python26_s.lib(graminit) +; From python33_s.lib(graminit) "_PyParser_Grammar" -; From python26_s.lib(import) +; From python33_s.lib(import) "_PyImport_Init" "_PyImportHooks_Init" "PyImport_ImportModule" @@ -979,10 +979,10 @@ EXPORTS "PyImport_Inittab" "_PyImport_Filetab" -; From python26_s.lib(importdl) +; From python33_s.lib(importdl) "_PyImport_LoadDynamicModule" -; From python26_s.lib(marshal) +; From python33_s.lib(marshal) "PyMarshal_ReadLongFromFile" "PyMarshal_WriteObjectToString" "PyMarshal_WriteLongToFile" @@ -993,7 +993,7 @@ EXPORTS "PyMarshal_ReadObjectFromString" "PyMarshal_Init" -; From python26_s.lib(modsupport) +; From python33_s.lib(modsupport) "Py_InitModule4" "Py_BuildValue" "_Py_BuildValue_SizeT" @@ -1006,24 +1006,24 @@ EXPORTS "PyModule_AddStringConstant" "_Py_PackageContext" -; From python26_s.lib(mysnprintf) +; From python33_s.lib(mysnprintf) "PyOS_snprintf" "PyOS_vsnprintf" -; From python26_s.lib(mystrtoul) +; From python33_s.lib(mystrtoul) "PyOS_strtoul" "PyOS_strtol" -; From python26_s.lib(pyarena) +; From python33_s.lib(pyarena) "PyArena_New" "PyArena_Free" "PyArena_Malloc" "PyArena_AddPyObject" -; From python26_s.lib(pyfpe) +; From python33_s.lib(pyfpe) "PyFPE_dummy" -; From python26_s.lib(pystate) +; From python33_s.lib(pystate) "PyInterpreterState_Clear" "PyThreadState_Clear" "_PyThread_CurrentFrames" @@ -1048,7 +1048,7 @@ EXPORTS "_PyThreadState_Current" "_PyThreadState_GetFrame" -; From python26_s.lib(pythonrun) +; From python33_s.lib(pythonrun) "Py_IgnoreEnvironmentFlag" "Py_DebugFlag" "Py_VerboseFlag" @@ -1110,20 +1110,20 @@ EXPORTS "Py_UnicodeFlag" "_Py_QnewFlag" -; From python26_s.lib(structmember) +; From python33_s.lib(structmember) "PyMember_Get" "PyMember_GetOne" "PyMember_SetOne" "PyMember_Set" -; From python26_s.lib(symtable) +; From python33_s.lib(symtable) "PySymtable_Build" "PySymtable_Free" "PyST_GetScope" "PySymtable_Lookup" "PySTEntry_Type" -; From python26_s.lib(sysmodule) +; From python33_s.lib(sysmodule) "_PySys_Init" "PySys_WriteStderr" "PySys_SetPath" @@ -1137,22 +1137,22 @@ EXPORTS "PySys_ResetWarnOptions" "PySys_AddWarnOption" -; From python26_s.lib(traceback) +; From python33_s.lib(traceback) "PyTraceBack_Here" "PyTraceBack_Print" "PyTraceBack_Type" -; From python26_s.lib(getopt) +; From python33_s.lib(getopt) "_PyOS_GetOpt" "_PyOS_opterr" "_PyOS_optind" "_PyOS_optarg" -; From python26_s.lib(dynload_shlib) +; From python33_s.lib(dynload_shlib) "_PyImport_DynLoadFiletab" "_PyImport_GetDynLoadFunc" -; From python26_s.lib(thread) +; From python33_s.lib(thread) "PyThread_delete_key_value" "PyThread_init_thread" "PyThread_start_new_thread" @@ -1169,7 +1169,7 @@ EXPORTS "PyThread_set_key_value" "PyThread_get_key_value" -; From python26_s.lib(gcmodule) +; From python33_s.lib(gcmodule) ; "initgc" "_PyObject_GC_New" "_PyObject_GC_NewVar" @@ -1185,7 +1185,7 @@ EXPORTS "_PyObject_GC_Del" "_PyGC_generation0" -; From python26_s.lib(signalmodule) +; From python33_s.lib(signalmodule) ; "initsignal" "PyErr_CheckSignals" "PyErr_SetInterrupt" @@ -1194,121 +1194,121 @@ EXPORTS "PyOS_InitInterrupts" "PyOS_AfterFork" -; From python26_s.lib(posixmodule) +; From python33_s.lib(posixmodule) ; "initos2" -; From python26_s.lib(_threadmodule) +; From python33_s.lib(_threadmodule) ; "init_thread" -; From python26_s.lib(arraymodule) +; From python33_s.lib(arraymodule) ; "initarray" ; "array_methods" -; From python26_s.lib(binascii) +; From python33_s.lib(binascii) ; "initbinascii" -; From python26_s.lib(cmathmodule) +; From python33_s.lib(cmathmodule) ; "initcmath" -; From python26_s.lib(_codecsmodule) +; From python33_s.lib(_codecsmodule) ; "init_codecs" -; From python26_s.lib(collectionsmodule) +; From python33_s.lib(collectionsmodule) ; "initcollections" "dequeiter_type" "dequereviter_type" -; From python26_s.lib(cPickle) +; From python33_s.lib(cPickle) ; "initcPickle" ; "fast_save_leave" -; From python26_s.lib(_csv) +; From python33_s.lib(_csv) ; "init_csv" -; From python26_s.lib(datetimemodule) +; From python33_s.lib(datetimemodule) ; "initdatetime" -; From python26_s.lib(dlmodule) +; From python33_s.lib(dlmodule) ; "initdl" -; From python26_s.lib(errnomodule) +; From python33_s.lib(errnomodule) ; "initerrno" -; From python26_s.lib(fcntlmodule) +; From python33_s.lib(fcntlmodule) ; "initfcntl" -; From python26_s.lib(_functoolsmodule) +; From python33_s.lib(_functoolsmodule) ; "init_functools" -; From python26_s.lib(_heapqmodule) +; From python33_s.lib(_heapqmodule) ; "init_heapq" -; From python26_s.lib(imageop) +; From python33_s.lib(imageop) ; "initimageop" -; From python26_s.lib(itertoolsmodule) +; From python33_s.lib(itertoolsmodule) ; "inititertools" -; From python26_s.lib(_localemodule) +; From python33_s.lib(_localemodule) ; "init_locale" -; From python26_s.lib(mathmodule) +; From python33_s.lib(mathmodule) ; "initmath" -; From python26_s.lib(md5) +; From python33_s.lib(md5) "md5_finish" "md5_init" "md5_append" -; From python26_s.lib(md5module) +; From python33_s.lib(md5module) ; "init_md5" -; From python26_s.lib(operator) +; From python33_s.lib(operator) ; "initoperator" -; From python26_s.lib(_randommodule) +; From python33_s.lib(_randommodule) ; "init_random" -; From python26_s.lib(rgbimgmodule) +; From python33_s.lib(rgbimgmodule) ; "initrgbimg" -; From python26_s.lib(shamodule) +; From python33_s.lib(shamodule) ; "init_sha" -; From python26_s.lib(sha256module) +; From python33_s.lib(sha256module) ; "init_sha256" -; From python26_s.lib(sha512module) +; From python33_s.lib(sha512module) ; "init_sha512" -; From python26_s.lib(_sre) +; From python33_s.lib(_sre) ; "init_sre" -; From python26_s.lib(stropmodule) +; From python33_s.lib(stropmodule) ; "initstrop" -; From python26_s.lib(_struct) +; From python33_s.lib(_struct) ; "init_struct" -; From python26_s.lib(symtablemodule) +; From python33_s.lib(symtablemodule) ; "init_symtable" -; From python26_s.lib(termios) +; From python33_s.lib(termios) ; "inittermios" -; From python26_s.lib(timemodule) +; From python33_s.lib(timemodule) ; "inittime" "_PyTime_DoubleToTimet" ; "inittimezone" -; From python26_s.lib(timingmodule) +; From python33_s.lib(timingmodule) ; "inittiming" -; From python26_s.lib(_weakref) +; From python33_s.lib(_weakref) ; "init_weakref" -; From python26_s.lib(xxsubtype) +; From python33_s.lib(xxsubtype) ; "initxxsubtype" -; From python26_s.lib(zipimport) +; From python33_s.lib(zipimport) ; "initzipimport" diff --git a/PC/pyconfig.h b/PC/pyconfig.h index 138d8fa..347f1cc 100644 --- a/PC/pyconfig.h +++ b/PC/pyconfig.h @@ -319,11 +319,11 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ their Makefile (other compilers are generally taken care of by distutils.) */ # if defined(_DEBUG) -# pragma comment(lib,"python32_d.lib") +# pragma comment(lib,"python33_d.lib") # elif defined(Py_LIMITED_API) # pragma comment(lib,"python3.lib") # else -# pragma comment(lib,"python32.lib") +# pragma comment(lib,"python33.lib") # endif /* _DEBUG */ # endif /* _MSC_VER */ # endif /* Py_BUILD_CORE */ @@ -550,10 +550,6 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ /* Define if you want to use the GNU readline library */ /* #define WITH_READLINE 1 */ -/* Define as the size of the unicode type. */ -/* This is enough for unicodeobject.h to do the "right thing" on Windows. */ -#define Py_UNICODE_SIZE 2 - /* Use Python's own small-block memory-allocator. */ #define WITH_PYMALLOC 1 @@ -714,9 +710,6 @@ Py_NO_ENABLE_SHARED to find out. Also support MS_NO_COREDLL for b/w compat */ /* Define if you have the <sys/utsname.h> header file. */ /* #define HAVE_SYS_UTSNAME_H 1 */ -/* Define if you have the <thread.h> header file. */ -/* #undef HAVE_THREAD_H */ - /* Define if you have the <unistd.h> header file. */ /* #define HAVE_UNISTD_H 1 */ diff --git a/PC/python3.def b/PC/python3.def index a845335..54b288f 100644 --- a/PC/python3.def +++ b/PC/python3.def @@ -1,689 +1,689 @@ LIBRARY "python3" EXPORTS - PyArg_Parse=python32.PyArg_Parse - PyArg_ParseTuple=python32.PyArg_ParseTuple - PyArg_ParseTupleAndKeywords=python32.PyArg_ParseTupleAndKeywords - PyArg_UnpackTuple=python32.PyArg_UnpackTuple - PyArg_VaParse=python32.PyArg_VaParse - PyArg_VaParseTupleAndKeywords=python32.PyArg_VaParseTupleAndKeywords - PyArg_ValidateKeywordArguments=python32.PyArg_ValidateKeywordArguments - PyBaseObject_Type=python32.PyBaseObject_Type DATA - PyBool_FromLong=python32.PyBool_FromLong - PyBool_Type=python32.PyBool_Type DATA - PyByteArrayIter_Type=python32.PyByteArrayIter_Type DATA - PyByteArray_AsString=python32.PyByteArray_AsString - PyByteArray_Concat=python32.PyByteArray_Concat - PyByteArray_FromObject=python32.PyByteArray_FromObject - PyByteArray_FromStringAndSize=python32.PyByteArray_FromStringAndSize - PyByteArray_Resize=python32.PyByteArray_Resize - PyByteArray_Size=python32.PyByteArray_Size - PyByteArray_Type=python32.PyByteArray_Type DATA - PyBytesIter_Type=python32.PyBytesIter_Type DATA - PyBytes_AsString=python32.PyBytes_AsString - PyBytes_AsStringAndSize=python32.PyBytes_AsStringAndSize - PyBytes_Concat=python32.PyBytes_Concat - PyBytes_ConcatAndDel=python32.PyBytes_ConcatAndDel - PyBytes_DecodeEscape=python32.PyBytes_DecodeEscape - PyBytes_FromFormat=python32.PyBytes_FromFormat - PyBytes_FromFormatV=python32.PyBytes_FromFormatV - PyBytes_FromObject=python32.PyBytes_FromObject - PyBytes_FromString=python32.PyBytes_FromString - PyBytes_FromStringAndSize=python32.PyBytes_FromStringAndSize - PyBytes_Repr=python32.PyBytes_Repr - PyBytes_Size=python32.PyBytes_Size - PyBytes_Type=python32.PyBytes_Type DATA - PyCFunction_Call=python32.PyCFunction_Call - PyCFunction_ClearFreeList=python32.PyCFunction_ClearFreeList - PyCFunction_GetFlags=python32.PyCFunction_GetFlags - PyCFunction_GetFunction=python32.PyCFunction_GetFunction - PyCFunction_GetSelf=python32.PyCFunction_GetSelf - PyCFunction_NewEx=python32.PyCFunction_NewEx - PyCFunction_Type=python32.PyCFunction_Type DATA - PyCallIter_New=python32.PyCallIter_New - PyCallIter_Type=python32.PyCallIter_Type DATA - PyCallable_Check=python32.PyCallable_Check - PyCapsule_GetContext=python32.PyCapsule_GetContext - PyCapsule_GetDestructor=python32.PyCapsule_GetDestructor - PyCapsule_GetName=python32.PyCapsule_GetName - PyCapsule_GetPointer=python32.PyCapsule_GetPointer - PyCapsule_Import=python32.PyCapsule_Import - PyCapsule_IsValid=python32.PyCapsule_IsValid - PyCapsule_New=python32.PyCapsule_New - PyCapsule_SetContext=python32.PyCapsule_SetContext - PyCapsule_SetDestructor=python32.PyCapsule_SetDestructor - PyCapsule_SetName=python32.PyCapsule_SetName - PyCapsule_SetPointer=python32.PyCapsule_SetPointer - PyCapsule_Type=python32.PyCapsule_Type DATA - PyClassMethodDescr_Type=python32.PyClassMethodDescr_Type DATA - PyCodec_BackslashReplaceErrors=python32.PyCodec_BackslashReplaceErrors - PyCodec_Decode=python32.PyCodec_Decode - PyCodec_Decoder=python32.PyCodec_Decoder - PyCodec_Encode=python32.PyCodec_Encode - PyCodec_Encoder=python32.PyCodec_Encoder - PyCodec_IgnoreErrors=python32.PyCodec_IgnoreErrors - PyCodec_IncrementalDecoder=python32.PyCodec_IncrementalDecoder - PyCodec_IncrementalEncoder=python32.PyCodec_IncrementalEncoder - PyCodec_KnownEncoding=python32.PyCodec_KnownEncoding - PyCodec_LookupError=python32.PyCodec_LookupError - PyCodec_Register=python32.PyCodec_Register - PyCodec_RegisterError=python32.PyCodec_RegisterError - PyCodec_ReplaceErrors=python32.PyCodec_ReplaceErrors - PyCodec_StreamReader=python32.PyCodec_StreamReader - PyCodec_StreamWriter=python32.PyCodec_StreamWriter - PyCodec_StrictErrors=python32.PyCodec_StrictErrors - PyCodec_XMLCharRefReplaceErrors=python32.PyCodec_XMLCharRefReplaceErrors - PyComplex_FromDoubles=python32.PyComplex_FromDoubles - PyComplex_ImagAsDouble=python32.PyComplex_ImagAsDouble - PyComplex_RealAsDouble=python32.PyComplex_RealAsDouble - PyComplex_Type=python32.PyComplex_Type DATA - PyDescr_NewClassMethod=python32.PyDescr_NewClassMethod - PyDescr_NewGetSet=python32.PyDescr_NewGetSet - PyDescr_NewMember=python32.PyDescr_NewMember - PyDescr_NewMethod=python32.PyDescr_NewMethod - PyDictItems_Type=python32.PyDictItems_Type DATA - PyDictIterItem_Type=python32.PyDictIterItem_Type DATA - PyDictIterKey_Type=python32.PyDictIterKey_Type DATA - PyDictIterValue_Type=python32.PyDictIterValue_Type DATA - PyDictKeys_Type=python32.PyDictKeys_Type DATA - PyDictProxy_New=python32.PyDictProxy_New - PyDictProxy_Type=python32.PyDictProxy_Type DATA - PyDictValues_Type=python32.PyDictValues_Type DATA - PyDict_Clear=python32.PyDict_Clear - PyDict_Contains=python32.PyDict_Contains - PyDict_Copy=python32.PyDict_Copy - PyDict_DelItem=python32.PyDict_DelItem - PyDict_DelItemString=python32.PyDict_DelItemString - PyDict_GetItem=python32.PyDict_GetItem - PyDict_GetItemString=python32.PyDict_GetItemString - PyDict_GetItemWithError=python32.PyDict_GetItemWithError - PyDict_Items=python32.PyDict_Items - PyDict_Keys=python32.PyDict_Keys - PyDict_Merge=python32.PyDict_Merge - PyDict_MergeFromSeq2=python32.PyDict_MergeFromSeq2 - PyDict_New=python32.PyDict_New - PyDict_Next=python32.PyDict_Next - PyDict_SetItem=python32.PyDict_SetItem - PyDict_SetItemString=python32.PyDict_SetItemString - PyDict_Size=python32.PyDict_Size - PyDict_Type=python32.PyDict_Type DATA - PyDict_Update=python32.PyDict_Update - PyDict_Values=python32.PyDict_Values - PyEllipsis_Type=python32.PyEllipsis_Type DATA - PyEnum_Type=python32.PyEnum_Type DATA - PyErr_BadArgument=python32.PyErr_BadArgument - PyErr_BadInternalCall=python32.PyErr_BadInternalCall - PyErr_CheckSignals=python32.PyErr_CheckSignals - PyErr_Clear=python32.PyErr_Clear - PyErr_Display=python32.PyErr_Display - PyErr_ExceptionMatches=python32.PyErr_ExceptionMatches - PyErr_Fetch=python32.PyErr_Fetch - PyErr_Format=python32.PyErr_Format - PyErr_GivenExceptionMatches=python32.PyErr_GivenExceptionMatches - PyErr_NewException=python32.PyErr_NewException - PyErr_NewExceptionWithDoc=python32.PyErr_NewExceptionWithDoc - PyErr_NoMemory=python32.PyErr_NoMemory - PyErr_NormalizeException=python32.PyErr_NormalizeException - PyErr_Occurred=python32.PyErr_Occurred - PyErr_Print=python32.PyErr_Print - PyErr_PrintEx=python32.PyErr_PrintEx - PyErr_ProgramText=python32.PyErr_ProgramText - PyErr_Restore=python32.PyErr_Restore - PyErr_SetFromErrno=python32.PyErr_SetFromErrno - PyErr_SetFromErrnoWithFilename=python32.PyErr_SetFromErrnoWithFilename - PyErr_SetFromErrnoWithFilenameObject=python32.PyErr_SetFromErrnoWithFilenameObject - PyErr_SetInterrupt=python32.PyErr_SetInterrupt - PyErr_SetNone=python32.PyErr_SetNone - PyErr_SetObject=python32.PyErr_SetObject - PyErr_SetString=python32.PyErr_SetString - PyErr_SyntaxLocation=python32.PyErr_SyntaxLocation - PyErr_WarnEx=python32.PyErr_WarnEx - PyErr_WarnExplicit=python32.PyErr_WarnExplicit - PyErr_WarnFormat=python32.PyErr_WarnFormat - PyErr_WriteUnraisable=python32.PyErr_WriteUnraisable - PyEval_AcquireLock=python32.PyEval_AcquireLock - PyEval_AcquireThread=python32.PyEval_AcquireThread - PyEval_CallFunction=python32.PyEval_CallFunction - PyEval_CallMethod=python32.PyEval_CallMethod - PyEval_CallObjectWithKeywords=python32.PyEval_CallObjectWithKeywords - PyEval_EvalCode=python32.PyEval_EvalCode - PyEval_EvalCodeEx=python32.PyEval_EvalCodeEx - PyEval_EvalFrame=python32.PyEval_EvalFrame - PyEval_EvalFrameEx=python32.PyEval_EvalFrameEx - PyEval_GetBuiltins=python32.PyEval_GetBuiltins - PyEval_GetCallStats=python32.PyEval_GetCallStats - PyEval_GetFrame=python32.PyEval_GetFrame - PyEval_GetFuncDesc=python32.PyEval_GetFuncDesc - PyEval_GetFuncName=python32.PyEval_GetFuncName - PyEval_GetGlobals=python32.PyEval_GetGlobals - PyEval_GetLocals=python32.PyEval_GetLocals - PyEval_InitThreads=python32.PyEval_InitThreads - PyEval_ReInitThreads=python32.PyEval_ReInitThreads - PyEval_ReleaseLock=python32.PyEval_ReleaseLock - PyEval_ReleaseThread=python32.PyEval_ReleaseThread - PyEval_RestoreThread=python32.PyEval_RestoreThread - PyEval_SaveThread=python32.PyEval_SaveThread - PyEval_ThreadsInitialized=python32.PyEval_ThreadsInitialized - PyExc_ArithmeticError=python32.PyExc_ArithmeticError DATA - PyExc_AssertionError=python32.PyExc_AssertionError DATA - PyExc_AttributeError=python32.PyExc_AttributeError DATA - PyExc_BaseException=python32.PyExc_BaseException DATA - PyExc_BufferError=python32.PyExc_BufferError DATA - PyExc_BytesWarning=python32.PyExc_BytesWarning DATA - PyExc_DeprecationWarning=python32.PyExc_DeprecationWarning DATA - PyExc_EOFError=python32.PyExc_EOFError DATA - PyExc_EnvironmentError=python32.PyExc_EnvironmentError DATA - PyExc_Exception=python32.PyExc_Exception DATA - PyExc_FloatingPointError=python32.PyExc_FloatingPointError DATA - PyExc_FutureWarning=python32.PyExc_FutureWarning DATA - PyExc_GeneratorExit=python32.PyExc_GeneratorExit DATA - PyExc_IOError=python32.PyExc_IOError DATA - PyExc_ImportError=python32.PyExc_ImportError DATA - PyExc_ImportWarning=python32.PyExc_ImportWarning DATA - PyExc_IndentationError=python32.PyExc_IndentationError DATA - PyExc_IndexError=python32.PyExc_IndexError DATA - PyExc_KeyError=python32.PyExc_KeyError DATA - PyExc_KeyboardInterrupt=python32.PyExc_KeyboardInterrupt DATA - PyExc_LookupError=python32.PyExc_LookupError DATA - PyExc_MemoryError=python32.PyExc_MemoryError DATA - PyExc_MemoryErrorInst=python32.PyExc_MemoryErrorInst DATA - PyExc_NameError=python32.PyExc_NameError DATA - PyExc_NotImplementedError=python32.PyExc_NotImplementedError DATA - PyExc_OSError=python32.PyExc_OSError DATA - PyExc_OverflowError=python32.PyExc_OverflowError DATA - PyExc_PendingDeprecationWarning=python32.PyExc_PendingDeprecationWarning DATA - PyExc_RecursionErrorInst=python32.PyExc_RecursionErrorInst DATA - PyExc_ReferenceError=python32.PyExc_ReferenceError DATA - PyExc_RuntimeError=python32.PyExc_RuntimeError DATA - PyExc_RuntimeWarning=python32.PyExc_RuntimeWarning DATA - PyExc_StopIteration=python32.PyExc_StopIteration DATA - PyExc_SyntaxError=python32.PyExc_SyntaxError DATA - PyExc_SyntaxWarning=python32.PyExc_SyntaxWarning DATA - PyExc_SystemError=python32.PyExc_SystemError DATA - PyExc_SystemExit=python32.PyExc_SystemExit DATA - PyExc_TabError=python32.PyExc_TabError DATA - PyExc_TypeError=python32.PyExc_TypeError DATA - PyExc_UnboundLocalError=python32.PyExc_UnboundLocalError DATA - PyExc_UnicodeDecodeError=python32.PyExc_UnicodeDecodeError DATA - PyExc_UnicodeEncodeError=python32.PyExc_UnicodeEncodeError DATA - PyExc_UnicodeError=python32.PyExc_UnicodeError DATA - PyExc_UnicodeTranslateError=python32.PyExc_UnicodeTranslateError DATA - PyExc_UnicodeWarning=python32.PyExc_UnicodeWarning DATA - PyExc_UserWarning=python32.PyExc_UserWarning DATA - PyExc_ValueError=python32.PyExc_ValueError DATA - PyExc_Warning=python32.PyExc_Warning DATA - PyExc_ZeroDivisionError=python32.PyExc_ZeroDivisionError DATA - PyException_GetCause=python32.PyException_GetCause - PyException_GetContext=python32.PyException_GetContext - PyException_GetTraceback=python32.PyException_GetTraceback - PyException_SetCause=python32.PyException_SetCause - PyException_SetContext=python32.PyException_SetContext - PyException_SetTraceback=python32.PyException_SetTraceback - PyFile_FromFd=python32.PyFile_FromFd - PyFile_GetLine=python32.PyFile_GetLine - PyFile_WriteObject=python32.PyFile_WriteObject - PyFile_WriteString=python32.PyFile_WriteString - PyFilter_Type=python32.PyFilter_Type DATA - PyFloat_AsDouble=python32.PyFloat_AsDouble - PyFloat_FromDouble=python32.PyFloat_FromDouble - PyFloat_FromString=python32.PyFloat_FromString - PyFloat_GetInfo=python32.PyFloat_GetInfo - PyFloat_GetMax=python32.PyFloat_GetMax - PyFloat_GetMin=python32.PyFloat_GetMin - PyFloat_Type=python32.PyFloat_Type DATA - PyFrozenSet_New=python32.PyFrozenSet_New - PyFrozenSet_Type=python32.PyFrozenSet_Type DATA - PyGC_Collect=python32.PyGC_Collect - PyGILState_Ensure=python32.PyGILState_Ensure - PyGILState_GetThisThreadState=python32.PyGILState_GetThisThreadState - PyGILState_Release=python32.PyGILState_Release - PyGetSetDescr_Type=python32.PyGetSetDescr_Type DATA - PyImport_AddModule=python32.PyImport_AddModule - PyImport_AppendInittab=python32.PyImport_AppendInittab - PyImport_Cleanup=python32.PyImport_Cleanup - PyImport_ExecCodeModule=python32.PyImport_ExecCodeModule - PyImport_ExecCodeModuleEx=python32.PyImport_ExecCodeModuleEx - PyImport_ExecCodeModuleWithPathnames=python32.PyImport_ExecCodeModuleWithPathnames - PyImport_GetImporter=python32.PyImport_GetImporter - PyImport_GetMagicNumber=python32.PyImport_GetMagicNumber - PyImport_GetMagicTag=python32.PyImport_GetMagicTag - PyImport_GetModuleDict=python32.PyImport_GetModuleDict - PyImport_Import=python32.PyImport_Import - PyImport_ImportFrozenModule=python32.PyImport_ImportFrozenModule - PyImport_ImportModule=python32.PyImport_ImportModule - PyImport_ImportModuleLevel=python32.PyImport_ImportModuleLevel - PyImport_ImportModuleNoBlock=python32.PyImport_ImportModuleNoBlock - PyImport_ReloadModule=python32.PyImport_ReloadModule - PyInterpreterState_Clear=python32.PyInterpreterState_Clear - PyInterpreterState_Delete=python32.PyInterpreterState_Delete - PyInterpreterState_New=python32.PyInterpreterState_New - PyIter_Next=python32.PyIter_Next - PyListIter_Type=python32.PyListIter_Type DATA - PyListRevIter_Type=python32.PyListRevIter_Type DATA - PyList_Append=python32.PyList_Append - PyList_AsTuple=python32.PyList_AsTuple - PyList_GetItem=python32.PyList_GetItem - PyList_GetSlice=python32.PyList_GetSlice - PyList_Insert=python32.PyList_Insert - PyList_New=python32.PyList_New - PyList_Reverse=python32.PyList_Reverse - PyList_SetItem=python32.PyList_SetItem - PyList_SetSlice=python32.PyList_SetSlice - PyList_Size=python32.PyList_Size - PyList_Sort=python32.PyList_Sort - PyList_Type=python32.PyList_Type DATA - PyLongRangeIter_Type=python32.PyLongRangeIter_Type DATA - PyLong_AsDouble=python32.PyLong_AsDouble - PyLong_AsLong=python32.PyLong_AsLong - PyLong_AsLongAndOverflow=python32.PyLong_AsLongAndOverflow - PyLong_AsLongLong=python32.PyLong_AsLongLong - PyLong_AsLongLongAndOverflow=python32.PyLong_AsLongLongAndOverflow - PyLong_AsSize_t=python32.PyLong_AsSize_t - PyLong_AsSsize_t=python32.PyLong_AsSsize_t - PyLong_AsUnsignedLong=python32.PyLong_AsUnsignedLong - PyLong_AsUnsignedLongLong=python32.PyLong_AsUnsignedLongLong - PyLong_AsUnsignedLongLongMask=python32.PyLong_AsUnsignedLongLongMask - PyLong_AsUnsignedLongMask=python32.PyLong_AsUnsignedLongMask - PyLong_AsVoidPtr=python32.PyLong_AsVoidPtr - PyLong_FromDouble=python32.PyLong_FromDouble - PyLong_FromLong=python32.PyLong_FromLong - PyLong_FromLongLong=python32.PyLong_FromLongLong - PyLong_FromSize_t=python32.PyLong_FromSize_t - PyLong_FromSsize_t=python32.PyLong_FromSsize_t - PyLong_FromString=python32.PyLong_FromString - PyLong_FromUnsignedLong=python32.PyLong_FromUnsignedLong - PyLong_FromUnsignedLongLong=python32.PyLong_FromUnsignedLongLong - PyLong_FromVoidPtr=python32.PyLong_FromVoidPtr - PyLong_GetInfo=python32.PyLong_GetInfo - PyLong_Type=python32.PyLong_Type DATA - PyMap_Type=python32.PyMap_Type DATA - PyMapping_Check=python32.PyMapping_Check - PyMapping_GetItemString=python32.PyMapping_GetItemString - PyMapping_HasKey=python32.PyMapping_HasKey - PyMapping_HasKeyString=python32.PyMapping_HasKeyString - PyMapping_Items=python32.PyMapping_Items - PyMapping_Keys=python32.PyMapping_Keys - PyMapping_Length=python32.PyMapping_Length - PyMapping_SetItemString=python32.PyMapping_SetItemString - PyMapping_Size=python32.PyMapping_Size - PyMapping_Values=python32.PyMapping_Values - PyMem_Free=python32.PyMem_Free - PyMem_Malloc=python32.PyMem_Malloc - PyMem_Realloc=python32.PyMem_Realloc - PyMemberDescr_Type=python32.PyMemberDescr_Type DATA - PyMemoryView_FromObject=python32.PyMemoryView_FromObject - PyMemoryView_GetContiguous=python32.PyMemoryView_GetContiguous - PyMemoryView_Type=python32.PyMemoryView_Type DATA - PyMethodDescr_Type=python32.PyMethodDescr_Type DATA - PyModule_AddIntConstant=python32.PyModule_AddIntConstant - PyModule_AddObject=python32.PyModule_AddObject - PyModule_AddStringConstant=python32.PyModule_AddStringConstant - PyModule_Create2=python32.PyModule_Create2 - PyModule_GetDef=python32.PyModule_GetDef - PyModule_GetDict=python32.PyModule_GetDict - PyModule_GetFilename=python32.PyModule_GetFilename - PyModule_GetFilenameObject=python32.PyModule_GetFilenameObject - PyModule_GetName=python32.PyModule_GetName - PyModule_GetState=python32.PyModule_GetState - PyModule_New=python32.PyModule_New - PyModule_Type=python32.PyModule_Type DATA - PyNullImporter_Type=python32.PyNullImporter_Type DATA - PyNumber_Absolute=python32.PyNumber_Absolute - PyNumber_Add=python32.PyNumber_Add - PyNumber_And=python32.PyNumber_And - PyNumber_AsSsize_t=python32.PyNumber_AsSsize_t - PyNumber_Check=python32.PyNumber_Check - PyNumber_Divmod=python32.PyNumber_Divmod - PyNumber_Float=python32.PyNumber_Float - PyNumber_FloorDivide=python32.PyNumber_FloorDivide - PyNumber_InPlaceAdd=python32.PyNumber_InPlaceAdd - PyNumber_InPlaceAnd=python32.PyNumber_InPlaceAnd - PyNumber_InPlaceFloorDivide=python32.PyNumber_InPlaceFloorDivide - PyNumber_InPlaceLshift=python32.PyNumber_InPlaceLshift - PyNumber_InPlaceMultiply=python32.PyNumber_InPlaceMultiply - PyNumber_InPlaceOr=python32.PyNumber_InPlaceOr - PyNumber_InPlacePower=python32.PyNumber_InPlacePower - PyNumber_InPlaceRemainder=python32.PyNumber_InPlaceRemainder - PyNumber_InPlaceRshift=python32.PyNumber_InPlaceRshift - PyNumber_InPlaceSubtract=python32.PyNumber_InPlaceSubtract - PyNumber_InPlaceTrueDivide=python32.PyNumber_InPlaceTrueDivide - PyNumber_InPlaceXor=python32.PyNumber_InPlaceXor - PyNumber_Index=python32.PyNumber_Index - PyNumber_Invert=python32.PyNumber_Invert - PyNumber_Long=python32.PyNumber_Long - PyNumber_Lshift=python32.PyNumber_Lshift - PyNumber_Multiply=python32.PyNumber_Multiply - PyNumber_Negative=python32.PyNumber_Negative - PyNumber_Or=python32.PyNumber_Or - PyNumber_Positive=python32.PyNumber_Positive - PyNumber_Power=python32.PyNumber_Power - PyNumber_Remainder=python32.PyNumber_Remainder - PyNumber_Rshift=python32.PyNumber_Rshift - PyNumber_Subtract=python32.PyNumber_Subtract - PyNumber_ToBase=python32.PyNumber_ToBase - PyNumber_TrueDivide=python32.PyNumber_TrueDivide - PyNumber_Xor=python32.PyNumber_Xor - PyOS_AfterFork=python32.PyOS_AfterFork - PyOS_InitInterrupts=python32.PyOS_InitInterrupts - PyOS_InputHook=python32.PyOS_InputHook DATA - PyOS_InterruptOccurred=python32.PyOS_InterruptOccurred - PyOS_ReadlineFunctionPointer=python32.PyOS_ReadlineFunctionPointer DATA - PyOS_double_to_string=python32.PyOS_double_to_string - PyOS_getsig=python32.PyOS_getsig - PyOS_mystricmp=python32.PyOS_mystricmp - PyOS_mystrnicmp=python32.PyOS_mystrnicmp - PyOS_setsig=python32.PyOS_setsig - PyOS_snprintf=python32.PyOS_snprintf - PyOS_string_to_double=python32.PyOS_string_to_double - PyOS_strtol=python32.PyOS_strtol - PyOS_strtoul=python32.PyOS_strtoul - PyOS_vsnprintf=python32.PyOS_vsnprintf - PyObject_ASCII=python32.PyObject_ASCII - PyObject_AsCharBuffer=python32.PyObject_AsCharBuffer - PyObject_AsFileDescriptor=python32.PyObject_AsFileDescriptor - PyObject_AsReadBuffer=python32.PyObject_AsReadBuffer - PyObject_AsWriteBuffer=python32.PyObject_AsWriteBuffer - PyObject_Bytes=python32.PyObject_Bytes - PyObject_Call=python32.PyObject_Call - PyObject_CallFunction=python32.PyObject_CallFunction - PyObject_CallFunctionObjArgs=python32.PyObject_CallFunctionObjArgs - PyObject_CallMethod=python32.PyObject_CallMethod - PyObject_CallMethodObjArgs=python32.PyObject_CallMethodObjArgs - PyObject_CallObject=python32.PyObject_CallObject - PyObject_CheckReadBuffer=python32.PyObject_CheckReadBuffer - PyObject_ClearWeakRefs=python32.PyObject_ClearWeakRefs - PyObject_DelItem=python32.PyObject_DelItem - PyObject_DelItemString=python32.PyObject_DelItemString - PyObject_Dir=python32.PyObject_Dir - PyObject_Format=python32.PyObject_Format - PyObject_Free=python32.PyObject_Free - PyObject_GC_Del=python32.PyObject_GC_Del - PyObject_GC_Track=python32.PyObject_GC_Track - PyObject_GC_UnTrack=python32.PyObject_GC_UnTrack - PyObject_GenericGetAttr=python32.PyObject_GenericGetAttr - PyObject_GenericSetAttr=python32.PyObject_GenericSetAttr - PyObject_GetAttr=python32.PyObject_GetAttr - PyObject_GetAttrString=python32.PyObject_GetAttrString - PyObject_GetItem=python32.PyObject_GetItem - PyObject_GetIter=python32.PyObject_GetIter - PyObject_HasAttr=python32.PyObject_HasAttr - PyObject_HasAttrString=python32.PyObject_HasAttrString - PyObject_Hash=python32.PyObject_Hash - PyObject_HashNotImplemented=python32.PyObject_HashNotImplemented - PyObject_Init=python32.PyObject_Init - PyObject_InitVar=python32.PyObject_InitVar - PyObject_IsInstance=python32.PyObject_IsInstance - PyObject_IsSubclass=python32.PyObject_IsSubclass - PyObject_IsTrue=python32.PyObject_IsTrue - PyObject_Length=python32.PyObject_Length - PyObject_Malloc=python32.PyObject_Malloc - PyObject_Not=python32.PyObject_Not - PyObject_Realloc=python32.PyObject_Realloc - PyObject_Repr=python32.PyObject_Repr - PyObject_RichCompare=python32.PyObject_RichCompare - PyObject_RichCompareBool=python32.PyObject_RichCompareBool - PyObject_SelfIter=python32.PyObject_SelfIter - PyObject_SetAttr=python32.PyObject_SetAttr - PyObject_SetAttrString=python32.PyObject_SetAttrString - PyObject_SetItem=python32.PyObject_SetItem - PyObject_Size=python32.PyObject_Size - PyObject_Str=python32.PyObject_Str - PyObject_Type=python32.PyObject_Type DATA - PyParser_SimpleParseFileFlags=python32.PyParser_SimpleParseFileFlags - PyParser_SimpleParseStringFlags=python32.PyParser_SimpleParseStringFlags - PyProperty_Type=python32.PyProperty_Type DATA - PyRangeIter_Type=python32.PyRangeIter_Type DATA - PyRange_Type=python32.PyRange_Type DATA - PyReversed_Type=python32.PyReversed_Type DATA - PySeqIter_New=python32.PySeqIter_New - PySeqIter_Type=python32.PySeqIter_Type DATA - PySequence_Check=python32.PySequence_Check - PySequence_Concat=python32.PySequence_Concat - PySequence_Contains=python32.PySequence_Contains - PySequence_Count=python32.PySequence_Count - PySequence_DelItem=python32.PySequence_DelItem - PySequence_DelSlice=python32.PySequence_DelSlice - PySequence_Fast=python32.PySequence_Fast - PySequence_GetItem=python32.PySequence_GetItem - PySequence_GetSlice=python32.PySequence_GetSlice - PySequence_In=python32.PySequence_In - PySequence_InPlaceConcat=python32.PySequence_InPlaceConcat - PySequence_InPlaceRepeat=python32.PySequence_InPlaceRepeat - PySequence_Index=python32.PySequence_Index - PySequence_Length=python32.PySequence_Length - PySequence_List=python32.PySequence_List - PySequence_Repeat=python32.PySequence_Repeat - PySequence_SetItem=python32.PySequence_SetItem - PySequence_SetSlice=python32.PySequence_SetSlice - PySequence_Size=python32.PySequence_Size - PySequence_Tuple=python32.PySequence_Tuple - PySetIter_Type=python32.PySetIter_Type DATA - PySet_Add=python32.PySet_Add - PySet_Clear=python32.PySet_Clear - PySet_Contains=python32.PySet_Contains - PySet_Discard=python32.PySet_Discard - PySet_New=python32.PySet_New - PySet_Pop=python32.PySet_Pop - PySet_Size=python32.PySet_Size - PySet_Type=python32.PySet_Type DATA - PySlice_GetIndices=python32.PySlice_GetIndices - PySlice_GetIndicesEx=python32.PySlice_GetIndicesEx - PySlice_New=python32.PySlice_New - PySlice_Type=python32.PySlice_Type DATA - PySortWrapper_Type=python32.PySortWrapper_Type DATA - PyState_FindModule=python32.PyState_FindModule - PyStructSequence_GetItem=python32.PyStructSequence_GetItem - PyStructSequence_New=python32.PyStructSequence_New - PyStructSequence_NewType=python32.PyStructSequence_NewType - PyStructSequence_SetItem=python32.PyStructSequence_SetItem - PySuper_Type=python32.PySuper_Type DATA - PySys_AddWarnOption=python32.PySys_AddWarnOption - PySys_AddWarnOptionUnicode=python32.PySys_AddWarnOptionUnicode - PySys_FormatStderr=python32.PySys_FormatStderr - PySys_FormatStdout=python32.PySys_FormatStdout - PySys_GetObject=python32.PySys_GetObject - PySys_HasWarnOptions=python32.PySys_HasWarnOptions - PySys_ResetWarnOptions=python32.PySys_ResetWarnOptions - PySys_SetArgv=python32.PySys_SetArgv - PySys_SetArgvEx=python32.PySys_SetArgvEx - PySys_SetObject=python32.PySys_SetObject - PySys_SetPath=python32.PySys_SetPath - PySys_WriteStderr=python32.PySys_WriteStderr - PySys_WriteStdout=python32.PySys_WriteStdout - PyThreadState_Clear=python32.PyThreadState_Clear - PyThreadState_Delete=python32.PyThreadState_Delete - PyThreadState_DeleteCurrent=python32.PyThreadState_DeleteCurrent - PyThreadState_Get=python32.PyThreadState_Get - PyThreadState_GetDict=python32.PyThreadState_GetDict - PyThreadState_New=python32.PyThreadState_New - PyThreadState_SetAsyncExc=python32.PyThreadState_SetAsyncExc - PyThreadState_Swap=python32.PyThreadState_Swap - PyTraceBack_Here=python32.PyTraceBack_Here - PyTraceBack_Print=python32.PyTraceBack_Print - PyTraceBack_Type=python32.PyTraceBack_Type DATA - PyTupleIter_Type=python32.PyTupleIter_Type DATA - PyTuple_ClearFreeList=python32.PyTuple_ClearFreeList - PyTuple_GetItem=python32.PyTuple_GetItem - PyTuple_GetSlice=python32.PyTuple_GetSlice - PyTuple_New=python32.PyTuple_New - PyTuple_Pack=python32.PyTuple_Pack - PyTuple_SetItem=python32.PyTuple_SetItem - PyTuple_Size=python32.PyTuple_Size - PyTuple_Type=python32.PyTuple_Type DATA - PyType_ClearCache=python32.PyType_ClearCache - PyType_FromSpec=python32.PyType_FromSpec - PyType_GenericAlloc=python32.PyType_GenericAlloc - PyType_GenericNew=python32.PyType_GenericNew - PyType_GetFlags=python32.PyType_GetFlags - PyType_IsSubtype=python32.PyType_IsSubtype - PyType_Modified=python32.PyType_Modified - PyType_Ready=python32.PyType_Ready - PyType_Type=python32.PyType_Type DATA - PyUnicodeDecodeError_Create=python32.PyUnicodeDecodeError_Create - PyUnicodeDecodeError_GetEncoding=python32.PyUnicodeDecodeError_GetEncoding - PyUnicodeDecodeError_GetEnd=python32.PyUnicodeDecodeError_GetEnd - PyUnicodeDecodeError_GetObject=python32.PyUnicodeDecodeError_GetObject - PyUnicodeDecodeError_GetReason=python32.PyUnicodeDecodeError_GetReason - PyUnicodeDecodeError_GetStart=python32.PyUnicodeDecodeError_GetStart - PyUnicodeDecodeError_SetEnd=python32.PyUnicodeDecodeError_SetEnd - PyUnicodeDecodeError_SetReason=python32.PyUnicodeDecodeError_SetReason - PyUnicodeDecodeError_SetStart=python32.PyUnicodeDecodeError_SetStart - PyUnicodeEncodeError_GetEncoding=python32.PyUnicodeEncodeError_GetEncoding - PyUnicodeEncodeError_GetEnd=python32.PyUnicodeEncodeError_GetEnd - PyUnicodeEncodeError_GetObject=python32.PyUnicodeEncodeError_GetObject - PyUnicodeEncodeError_GetReason=python32.PyUnicodeEncodeError_GetReason - PyUnicodeEncodeError_GetStart=python32.PyUnicodeEncodeError_GetStart - PyUnicodeEncodeError_SetEnd=python32.PyUnicodeEncodeError_SetEnd - PyUnicodeEncodeError_SetReason=python32.PyUnicodeEncodeError_SetReason - PyUnicodeEncodeError_SetStart=python32.PyUnicodeEncodeError_SetStart - PyUnicodeIter_Type=python32.PyUnicodeIter_Type DATA - PyUnicodeTranslateError_GetEnd=python32.PyUnicodeTranslateError_GetEnd - PyUnicodeTranslateError_GetObject=python32.PyUnicodeTranslateError_GetObject - PyUnicodeTranslateError_GetReason=python32.PyUnicodeTranslateError_GetReason - PyUnicodeTranslateError_GetStart=python32.PyUnicodeTranslateError_GetStart - PyUnicodeTranslateError_SetEnd=python32.PyUnicodeTranslateError_SetEnd - PyUnicodeTranslateError_SetReason=python32.PyUnicodeTranslateError_SetReason - PyUnicodeTranslateError_SetStart=python32.PyUnicodeTranslateError_SetStart - PyUnicode_Append=python32.PyUnicodeUCS2_Append - PyUnicode_AppendAndDel=python32.PyUnicodeUCS2_AppendAndDel - PyUnicode_AsASCIIString=python32.PyUnicodeUCS2_AsASCIIString - PyUnicode_AsCharmapString=python32.PyUnicodeUCS2_AsCharmapString - PyUnicode_AsDecodedObject=python32.PyUnicodeUCS2_AsDecodedObject - PyUnicode_AsDecodedUnicode=python32.PyUnicodeUCS2_AsDecodedUnicode - PyUnicode_AsEncodedObject=python32.PyUnicodeUCS2_AsEncodedObject - PyUnicode_AsEncodedString=python32.PyUnicodeUCS2_AsEncodedString - PyUnicode_AsEncodedUnicode=python32.PyUnicodeUCS2_AsEncodedUnicode - PyUnicode_AsLatin1String=python32.PyUnicodeUCS2_AsLatin1String - PyUnicode_AsRawUnicodeEscapeString=python32.PyUnicodeUCS2_AsRawUnicodeEscapeString - PyUnicode_AsUTF16String=python32.PyUnicodeUCS2_AsUTF16String - PyUnicode_AsUTF32String=python32.PyUnicodeUCS2_AsUTF32String - PyUnicode_AsUTF8String=python32.PyUnicodeUCS2_AsUTF8String - PyUnicode_AsUnicodeEscapeString=python32.PyUnicodeUCS2_AsUnicodeEscapeString - PyUnicode_AsWideChar=python32.PyUnicodeUCS2_AsWideChar - PyUnicode_ClearFreelist=python32.PyUnicodeUCS2_ClearFreelist - PyUnicode_Compare=python32.PyUnicodeUCS2_Compare - PyUnicode_Concat=python32.PyUnicodeUCS2_Concat - PyUnicode_Contains=python32.PyUnicodeUCS2_Contains - PyUnicode_Count=python32.PyUnicodeUCS2_Count - PyUnicode_Decode=python32.PyUnicodeUCS2_Decode - PyUnicode_DecodeASCII=python32.PyUnicodeUCS2_DecodeASCII - PyUnicode_DecodeCharmap=python32.PyUnicodeUCS2_DecodeCharmap - PyUnicode_DecodeFSDefault=python32.PyUnicodeUCS2_DecodeFSDefault - PyUnicode_DecodeFSDefaultAndSize=python32.PyUnicodeUCS2_DecodeFSDefaultAndSize - PyUnicode_DecodeLatin1=python32.PyUnicodeUCS2_DecodeLatin1 - PyUnicode_DecodeRawUnicodeEscape=python32.PyUnicodeUCS2_DecodeRawUnicodeEscape - PyUnicode_DecodeUTF16=python32.PyUnicodeUCS2_DecodeUTF16 - PyUnicode_DecodeUTF16Stateful=python32.PyUnicodeUCS2_DecodeUTF16Stateful - PyUnicode_DecodeUTF32=python32.PyUnicodeUCS2_DecodeUTF32 - PyUnicode_DecodeUTF32Stateful=python32.PyUnicodeUCS2_DecodeUTF32Stateful - PyUnicode_DecodeUTF8=python32.PyUnicodeUCS2_DecodeUTF8 - PyUnicode_DecodeUTF8Stateful=python32.PyUnicodeUCS2_DecodeUTF8Stateful - PyUnicode_DecodeUnicodeEscape=python32.PyUnicodeUCS2_DecodeUnicodeEscape - PyUnicode_FSConverter=python32.PyUnicodeUCS2_FSConverter - PyUnicode_FSDecoder=python32.PyUnicodeUCS2_FSDecoder - PyUnicode_Find=python32.PyUnicodeUCS2_Find - PyUnicode_Format=python32.PyUnicodeUCS2_Format - PyUnicode_FromEncodedObject=python32.PyUnicodeUCS2_FromEncodedObject - PyUnicode_FromFormat=python32.PyUnicodeUCS2_FromFormat - PyUnicode_FromFormatV=python32.PyUnicodeUCS2_FromFormatV - PyUnicode_FromObject=python32.PyUnicodeUCS2_FromObject - PyUnicode_FromOrdinal=python32.PyUnicodeUCS2_FromOrdinal - PyUnicode_FromString=python32.PyUnicodeUCS2_FromString - PyUnicode_FromStringAndSize=python32.PyUnicodeUCS2_FromStringAndSize - PyUnicode_FromWideChar=python32.PyUnicodeUCS2_FromWideChar - PyUnicode_GetDefaultEncoding=python32.PyUnicodeUCS2_GetDefaultEncoding - PyUnicode_GetSize=python32.PyUnicodeUCS2_GetSize - PyUnicode_IsIdentifier=python32.PyUnicodeUCS2_IsIdentifier - PyUnicode_Join=python32.PyUnicodeUCS2_Join - PyUnicode_Partition=python32.PyUnicodeUCS2_Partition - PyUnicode_RPartition=python32.PyUnicodeUCS2_RPartition - PyUnicode_RSplit=python32.PyUnicodeUCS2_RSplit - PyUnicode_Replace=python32.PyUnicodeUCS2_Replace - PyUnicode_Resize=python32.PyUnicodeUCS2_Resize - PyUnicode_RichCompare=python32.PyUnicodeUCS2_RichCompare - PyUnicode_SetDefaultEncoding=python32.PyUnicodeUCS2_SetDefaultEncoding - PyUnicode_Split=python32.PyUnicodeUCS2_Split - PyUnicode_Splitlines=python32.PyUnicodeUCS2_Splitlines - PyUnicode_Tailmatch=python32.PyUnicodeUCS2_Tailmatch - PyUnicode_Translate=python32.PyUnicodeUCS2_Translate - PyUnicode_BuildEncodingMap=python32.PyUnicode_BuildEncodingMap - PyUnicode_CompareWithASCIIString=python32.PyUnicode_CompareWithASCIIString - PyUnicode_DecodeUTF7=python32.PyUnicode_DecodeUTF7 - PyUnicode_DecodeUTF7Stateful=python32.PyUnicode_DecodeUTF7Stateful - PyUnicode_EncodeFSDefault=python32.PyUnicode_EncodeFSDefault - PyUnicode_InternFromString=python32.PyUnicode_InternFromString - PyUnicode_InternImmortal=python32.PyUnicode_InternImmortal - PyUnicode_InternInPlace=python32.PyUnicode_InternInPlace - PyUnicode_Type=python32.PyUnicode_Type DATA - PyWeakref_GetObject=python32.PyWeakref_GetObject DATA - PyWeakref_NewProxy=python32.PyWeakref_NewProxy - PyWeakref_NewRef=python32.PyWeakref_NewRef - PyWrapperDescr_Type=python32.PyWrapperDescr_Type DATA - PyWrapper_New=python32.PyWrapper_New - PyZip_Type=python32.PyZip_Type DATA - Py_AddPendingCall=python32.Py_AddPendingCall - Py_AtExit=python32.Py_AtExit - Py_BuildValue=python32.Py_BuildValue - Py_CompileString=python32.Py_CompileString - Py_DecRef=python32.Py_DecRef - Py_EndInterpreter=python32.Py_EndInterpreter - Py_Exit=python32.Py_Exit - Py_FatalError=python32.Py_FatalError - Py_FileSystemDefaultEncoding=python32.Py_FileSystemDefaultEncoding DATA - Py_Finalize=python32.Py_Finalize - Py_GetBuildInfo=python32.Py_GetBuildInfo - Py_GetCompiler=python32.Py_GetCompiler - Py_GetCopyright=python32.Py_GetCopyright - Py_GetExecPrefix=python32.Py_GetExecPrefix - Py_GetPath=python32.Py_GetPath - Py_GetPlatform=python32.Py_GetPlatform - Py_GetPrefix=python32.Py_GetPrefix - Py_GetProgramFullPath=python32.Py_GetProgramFullPath - Py_GetProgramName=python32.Py_GetProgramName - Py_GetPythonHome=python32.Py_GetPythonHome - Py_GetRecursionLimit=python32.Py_GetRecursionLimit - Py_GetVersion=python32.Py_GetVersion - Py_HasFileSystemDefaultEncoding=python32.Py_HasFileSystemDefaultEncoding DATA - Py_IncRef=python32.Py_IncRef - Py_Initialize=python32.Py_Initialize - Py_InitializeEx=python32.Py_InitializeEx - Py_IsInitialized=python32.Py_IsInitialized - Py_Main=python32.Py_Main - Py_MakePendingCalls=python32.Py_MakePendingCalls - Py_NewInterpreter=python32.Py_NewInterpreter - Py_ReprEnter=python32.Py_ReprEnter - Py_ReprLeave=python32.Py_ReprLeave - Py_SetProgramName=python32.Py_SetProgramName - Py_SetPythonHome=python32.Py_SetPythonHome - Py_SetRecursionLimit=python32.Py_SetRecursionLimit - Py_SymtableString=python32.Py_SymtableString - Py_VaBuildValue=python32.Py_VaBuildValue - _PyErr_BadInternalCall=python32._PyErr_BadInternalCall - _PyObject_CallFunction_SizeT=python32._PyObject_CallFunction_SizeT - _PyObject_CallMethod_SizeT=python32._PyObject_CallMethod_SizeT - _PyObject_GC_Malloc=python32._PyObject_GC_Malloc - _PyObject_GC_New=python32._PyObject_GC_New - _PyObject_GC_NewVar=python32._PyObject_GC_NewVar - _PyObject_GC_Resize=python32._PyObject_GC_Resize - _PyObject_New=python32._PyObject_New - _PyObject_NewVar=python32._PyObject_NewVar - _PyState_AddModule=python32._PyState_AddModule - _PyThreadState_Init=python32._PyThreadState_Init - _PyThreadState_Prealloc=python32._PyThreadState_Prealloc - _PyTrash_delete_later=python32._PyTrash_delete_later DATA - _PyTrash_delete_nesting=python32._PyTrash_delete_nesting DATA - _PyTrash_deposit_object=python32._PyTrash_deposit_object - _PyTrash_destroy_chain=python32._PyTrash_destroy_chain - _PyWeakref_CallableProxyType=python32._PyWeakref_CallableProxyType DATA - _PyWeakref_ProxyType=python32._PyWeakref_ProxyType DATA - _PyWeakref_RefType=python32._PyWeakref_RefType DATA - _Py_BuildValue_SizeT=python32._Py_BuildValue_SizeT - _Py_CheckRecursionLimit=python32._Py_CheckRecursionLimit DATA - _Py_CheckRecursiveCall=python32._Py_CheckRecursiveCall - _Py_Dealloc=python32._Py_Dealloc - _Py_EllipsisObject=python32._Py_EllipsisObject DATA - _Py_FalseStruct=python32._Py_FalseStruct DATA - _Py_NoneStruct=python32._Py_NoneStruct DATA - _Py_NotImplementedStruct=python32._Py_NotImplementedStruct DATA - _Py_SwappedOp=python32._Py_SwappedOp DATA - _Py_TrueStruct=python32._Py_TrueStruct DATA - _Py_VaBuildValue_SizeT=python32._Py_VaBuildValue_SizeT + PyArg_Parse=python33.PyArg_Parse + PyArg_ParseTuple=python33.PyArg_ParseTuple + PyArg_ParseTupleAndKeywords=python33.PyArg_ParseTupleAndKeywords + PyArg_UnpackTuple=python33.PyArg_UnpackTuple + PyArg_VaParse=python33.PyArg_VaParse + PyArg_VaParseTupleAndKeywords=python33.PyArg_VaParseTupleAndKeywords + PyArg_ValidateKeywordArguments=python33.PyArg_ValidateKeywordArguments + PyBaseObject_Type=python33.PyBaseObject_Type DATA + PyBool_FromLong=python33.PyBool_FromLong + PyBool_Type=python33.PyBool_Type DATA + PyByteArrayIter_Type=python33.PyByteArrayIter_Type DATA + PyByteArray_AsString=python33.PyByteArray_AsString + PyByteArray_Concat=python33.PyByteArray_Concat + PyByteArray_FromObject=python33.PyByteArray_FromObject + PyByteArray_FromStringAndSize=python33.PyByteArray_FromStringAndSize + PyByteArray_Resize=python33.PyByteArray_Resize + PyByteArray_Size=python33.PyByteArray_Size + PyByteArray_Type=python33.PyByteArray_Type DATA + PyBytesIter_Type=python33.PyBytesIter_Type DATA + PyBytes_AsString=python33.PyBytes_AsString + PyBytes_AsStringAndSize=python33.PyBytes_AsStringAndSize + PyBytes_Concat=python33.PyBytes_Concat + PyBytes_ConcatAndDel=python33.PyBytes_ConcatAndDel + PyBytes_DecodeEscape=python33.PyBytes_DecodeEscape + PyBytes_FromFormat=python33.PyBytes_FromFormat + PyBytes_FromFormatV=python33.PyBytes_FromFormatV + PyBytes_FromObject=python33.PyBytes_FromObject + PyBytes_FromString=python33.PyBytes_FromString + PyBytes_FromStringAndSize=python33.PyBytes_FromStringAndSize + PyBytes_Repr=python33.PyBytes_Repr + PyBytes_Size=python33.PyBytes_Size + PyBytes_Type=python33.PyBytes_Type DATA + PyCFunction_Call=python33.PyCFunction_Call + PyCFunction_ClearFreeList=python33.PyCFunction_ClearFreeList + PyCFunction_GetFlags=python33.PyCFunction_GetFlags + PyCFunction_GetFunction=python33.PyCFunction_GetFunction + PyCFunction_GetSelf=python33.PyCFunction_GetSelf + PyCFunction_NewEx=python33.PyCFunction_NewEx + PyCFunction_Type=python33.PyCFunction_Type DATA + PyCallIter_New=python33.PyCallIter_New + PyCallIter_Type=python33.PyCallIter_Type DATA + PyCallable_Check=python33.PyCallable_Check + PyCapsule_GetContext=python33.PyCapsule_GetContext + PyCapsule_GetDestructor=python33.PyCapsule_GetDestructor + PyCapsule_GetName=python33.PyCapsule_GetName + PyCapsule_GetPointer=python33.PyCapsule_GetPointer + PyCapsule_Import=python33.PyCapsule_Import + PyCapsule_IsValid=python33.PyCapsule_IsValid + PyCapsule_New=python33.PyCapsule_New + PyCapsule_SetContext=python33.PyCapsule_SetContext + PyCapsule_SetDestructor=python33.PyCapsule_SetDestructor + PyCapsule_SetName=python33.PyCapsule_SetName + PyCapsule_SetPointer=python33.PyCapsule_SetPointer + PyCapsule_Type=python33.PyCapsule_Type DATA + PyClassMethodDescr_Type=python33.PyClassMethodDescr_Type DATA + PyCodec_BackslashReplaceErrors=python33.PyCodec_BackslashReplaceErrors + PyCodec_Decode=python33.PyCodec_Decode + PyCodec_Decoder=python33.PyCodec_Decoder + PyCodec_Encode=python33.PyCodec_Encode + PyCodec_Encoder=python33.PyCodec_Encoder + PyCodec_IgnoreErrors=python33.PyCodec_IgnoreErrors + PyCodec_IncrementalDecoder=python33.PyCodec_IncrementalDecoder + PyCodec_IncrementalEncoder=python33.PyCodec_IncrementalEncoder + PyCodec_KnownEncoding=python33.PyCodec_KnownEncoding + PyCodec_LookupError=python33.PyCodec_LookupError + PyCodec_Register=python33.PyCodec_Register + PyCodec_RegisterError=python33.PyCodec_RegisterError + PyCodec_ReplaceErrors=python33.PyCodec_ReplaceErrors + PyCodec_StreamReader=python33.PyCodec_StreamReader + PyCodec_StreamWriter=python33.PyCodec_StreamWriter + PyCodec_StrictErrors=python33.PyCodec_StrictErrors + PyCodec_XMLCharRefReplaceErrors=python33.PyCodec_XMLCharRefReplaceErrors + PyComplex_FromDoubles=python33.PyComplex_FromDoubles + PyComplex_ImagAsDouble=python33.PyComplex_ImagAsDouble + PyComplex_RealAsDouble=python33.PyComplex_RealAsDouble + PyComplex_Type=python33.PyComplex_Type DATA + PyDescr_NewClassMethod=python33.PyDescr_NewClassMethod + PyDescr_NewGetSet=python33.PyDescr_NewGetSet + PyDescr_NewMember=python33.PyDescr_NewMember + PyDescr_NewMethod=python33.PyDescr_NewMethod + PyDictItems_Type=python33.PyDictItems_Type DATA + PyDictIterItem_Type=python33.PyDictIterItem_Type DATA + PyDictIterKey_Type=python33.PyDictIterKey_Type DATA + PyDictIterValue_Type=python33.PyDictIterValue_Type DATA + PyDictKeys_Type=python33.PyDictKeys_Type DATA + PyDictProxy_New=python33.PyDictProxy_New + PyDictProxy_Type=python33.PyDictProxy_Type DATA + PyDictValues_Type=python33.PyDictValues_Type DATA + PyDict_Clear=python33.PyDict_Clear + PyDict_Contains=python33.PyDict_Contains + PyDict_Copy=python33.PyDict_Copy + PyDict_DelItem=python33.PyDict_DelItem + PyDict_DelItemString=python33.PyDict_DelItemString + PyDict_GetItem=python33.PyDict_GetItem + PyDict_GetItemString=python33.PyDict_GetItemString + PyDict_GetItemWithError=python33.PyDict_GetItemWithError + PyDict_Items=python33.PyDict_Items + PyDict_Keys=python33.PyDict_Keys + PyDict_Merge=python33.PyDict_Merge + PyDict_MergeFromSeq2=python33.PyDict_MergeFromSeq2 + PyDict_New=python33.PyDict_New + PyDict_Next=python33.PyDict_Next + PyDict_SetItem=python33.PyDict_SetItem + PyDict_SetItemString=python33.PyDict_SetItemString + PyDict_Size=python33.PyDict_Size + PyDict_Type=python33.PyDict_Type DATA + PyDict_Update=python33.PyDict_Update + PyDict_Values=python33.PyDict_Values + PyEllipsis_Type=python33.PyEllipsis_Type DATA + PyEnum_Type=python33.PyEnum_Type DATA + PyErr_BadArgument=python33.PyErr_BadArgument + PyErr_BadInternalCall=python33.PyErr_BadInternalCall + PyErr_CheckSignals=python33.PyErr_CheckSignals + PyErr_Clear=python33.PyErr_Clear + PyErr_Display=python33.PyErr_Display + PyErr_ExceptionMatches=python33.PyErr_ExceptionMatches + PyErr_Fetch=python33.PyErr_Fetch + PyErr_Format=python33.PyErr_Format + PyErr_GivenExceptionMatches=python33.PyErr_GivenExceptionMatches + PyErr_NewException=python33.PyErr_NewException + PyErr_NewExceptionWithDoc=python33.PyErr_NewExceptionWithDoc + PyErr_NoMemory=python33.PyErr_NoMemory + PyErr_NormalizeException=python33.PyErr_NormalizeException + PyErr_Occurred=python33.PyErr_Occurred + PyErr_Print=python33.PyErr_Print + PyErr_PrintEx=python33.PyErr_PrintEx + PyErr_ProgramText=python33.PyErr_ProgramText + PyErr_Restore=python33.PyErr_Restore + PyErr_SetFromErrno=python33.PyErr_SetFromErrno + PyErr_SetFromErrnoWithFilename=python33.PyErr_SetFromErrnoWithFilename + PyErr_SetFromErrnoWithFilenameObject=python33.PyErr_SetFromErrnoWithFilenameObject + PyErr_SetInterrupt=python33.PyErr_SetInterrupt + PyErr_SetNone=python33.PyErr_SetNone + PyErr_SetObject=python33.PyErr_SetObject + PyErr_SetString=python33.PyErr_SetString + PyErr_SyntaxLocation=python33.PyErr_SyntaxLocation + PyErr_WarnEx=python33.PyErr_WarnEx + PyErr_WarnExplicit=python33.PyErr_WarnExplicit + PyErr_WarnFormat=python33.PyErr_WarnFormat + PyErr_WriteUnraisable=python33.PyErr_WriteUnraisable + PyEval_AcquireLock=python33.PyEval_AcquireLock + PyEval_AcquireThread=python33.PyEval_AcquireThread + PyEval_CallFunction=python33.PyEval_CallFunction + PyEval_CallMethod=python33.PyEval_CallMethod + PyEval_CallObjectWithKeywords=python33.PyEval_CallObjectWithKeywords + PyEval_EvalCode=python33.PyEval_EvalCode + PyEval_EvalCodeEx=python33.PyEval_EvalCodeEx + PyEval_EvalFrame=python33.PyEval_EvalFrame + PyEval_EvalFrameEx=python33.PyEval_EvalFrameEx + PyEval_GetBuiltins=python33.PyEval_GetBuiltins + PyEval_GetCallStats=python33.PyEval_GetCallStats + PyEval_GetFrame=python33.PyEval_GetFrame + PyEval_GetFuncDesc=python33.PyEval_GetFuncDesc + PyEval_GetFuncName=python33.PyEval_GetFuncName + PyEval_GetGlobals=python33.PyEval_GetGlobals + PyEval_GetLocals=python33.PyEval_GetLocals + PyEval_InitThreads=python33.PyEval_InitThreads + PyEval_ReInitThreads=python33.PyEval_ReInitThreads + PyEval_ReleaseLock=python33.PyEval_ReleaseLock + PyEval_ReleaseThread=python33.PyEval_ReleaseThread + PyEval_RestoreThread=python33.PyEval_RestoreThread + PyEval_SaveThread=python33.PyEval_SaveThread + PyEval_ThreadsInitialized=python33.PyEval_ThreadsInitialized + PyExc_ArithmeticError=python33.PyExc_ArithmeticError DATA + PyExc_AssertionError=python33.PyExc_AssertionError DATA + PyExc_AttributeError=python33.PyExc_AttributeError DATA + PyExc_BaseException=python33.PyExc_BaseException DATA + PyExc_BufferError=python33.PyExc_BufferError DATA + PyExc_BytesWarning=python33.PyExc_BytesWarning DATA + PyExc_DeprecationWarning=python33.PyExc_DeprecationWarning DATA + PyExc_EOFError=python33.PyExc_EOFError DATA + PyExc_EnvironmentError=python33.PyExc_EnvironmentError DATA + PyExc_Exception=python33.PyExc_Exception DATA + PyExc_FloatingPointError=python33.PyExc_FloatingPointError DATA + PyExc_FutureWarning=python33.PyExc_FutureWarning DATA + PyExc_GeneratorExit=python33.PyExc_GeneratorExit DATA + PyExc_IOError=python33.PyExc_IOError DATA + PyExc_ImportError=python33.PyExc_ImportError DATA + PyExc_ImportWarning=python33.PyExc_ImportWarning DATA + PyExc_IndentationError=python33.PyExc_IndentationError DATA + PyExc_IndexError=python33.PyExc_IndexError DATA + PyExc_KeyError=python33.PyExc_KeyError DATA + PyExc_KeyboardInterrupt=python33.PyExc_KeyboardInterrupt DATA + PyExc_LookupError=python33.PyExc_LookupError DATA + PyExc_MemoryError=python33.PyExc_MemoryError DATA + PyExc_MemoryErrorInst=python33.PyExc_MemoryErrorInst DATA + PyExc_NameError=python33.PyExc_NameError DATA + PyExc_NotImplementedError=python33.PyExc_NotImplementedError DATA + PyExc_OSError=python33.PyExc_OSError DATA + PyExc_OverflowError=python33.PyExc_OverflowError DATA + PyExc_PendingDeprecationWarning=python33.PyExc_PendingDeprecationWarning DATA + PyExc_RecursionErrorInst=python33.PyExc_RecursionErrorInst DATA + PyExc_ReferenceError=python33.PyExc_ReferenceError DATA + PyExc_RuntimeError=python33.PyExc_RuntimeError DATA + PyExc_RuntimeWarning=python33.PyExc_RuntimeWarning DATA + PyExc_StopIteration=python33.PyExc_StopIteration DATA + PyExc_SyntaxError=python33.PyExc_SyntaxError DATA + PyExc_SyntaxWarning=python33.PyExc_SyntaxWarning DATA + PyExc_SystemError=python33.PyExc_SystemError DATA + PyExc_SystemExit=python33.PyExc_SystemExit DATA + PyExc_TabError=python33.PyExc_TabError DATA + PyExc_TypeError=python33.PyExc_TypeError DATA + PyExc_UnboundLocalError=python33.PyExc_UnboundLocalError DATA + PyExc_UnicodeDecodeError=python33.PyExc_UnicodeDecodeError DATA + PyExc_UnicodeEncodeError=python33.PyExc_UnicodeEncodeError DATA + PyExc_UnicodeError=python33.PyExc_UnicodeError DATA + PyExc_UnicodeTranslateError=python33.PyExc_UnicodeTranslateError DATA + PyExc_UnicodeWarning=python33.PyExc_UnicodeWarning DATA + PyExc_UserWarning=python33.PyExc_UserWarning DATA + PyExc_ValueError=python33.PyExc_ValueError DATA + PyExc_Warning=python33.PyExc_Warning DATA + PyExc_ZeroDivisionError=python33.PyExc_ZeroDivisionError DATA + PyException_GetCause=python33.PyException_GetCause + PyException_GetContext=python33.PyException_GetContext + PyException_GetTraceback=python33.PyException_GetTraceback + PyException_SetCause=python33.PyException_SetCause + PyException_SetContext=python33.PyException_SetContext + PyException_SetTraceback=python33.PyException_SetTraceback + PyFile_FromFd=python33.PyFile_FromFd + PyFile_GetLine=python33.PyFile_GetLine + PyFile_WriteObject=python33.PyFile_WriteObject + PyFile_WriteString=python33.PyFile_WriteString + PyFilter_Type=python33.PyFilter_Type DATA + PyFloat_AsDouble=python33.PyFloat_AsDouble + PyFloat_FromDouble=python33.PyFloat_FromDouble + PyFloat_FromString=python33.PyFloat_FromString + PyFloat_GetInfo=python33.PyFloat_GetInfo + PyFloat_GetMax=python33.PyFloat_GetMax + PyFloat_GetMin=python33.PyFloat_GetMin + PyFloat_Type=python33.PyFloat_Type DATA + PyFrozenSet_New=python33.PyFrozenSet_New + PyFrozenSet_Type=python33.PyFrozenSet_Type DATA + PyGC_Collect=python33.PyGC_Collect + PyGILState_Ensure=python33.PyGILState_Ensure + PyGILState_GetThisThreadState=python33.PyGILState_GetThisThreadState + PyGILState_Release=python33.PyGILState_Release + PyGetSetDescr_Type=python33.PyGetSetDescr_Type DATA + PyImport_AddModule=python33.PyImport_AddModule + PyImport_AppendInittab=python33.PyImport_AppendInittab + PyImport_Cleanup=python33.PyImport_Cleanup + PyImport_ExecCodeModule=python33.PyImport_ExecCodeModule + PyImport_ExecCodeModuleEx=python33.PyImport_ExecCodeModuleEx + PyImport_ExecCodeModuleWithPathnames=python33.PyImport_ExecCodeModuleWithPathnames + PyImport_GetImporter=python33.PyImport_GetImporter + PyImport_GetMagicNumber=python33.PyImport_GetMagicNumber + PyImport_GetMagicTag=python33.PyImport_GetMagicTag + PyImport_GetModuleDict=python33.PyImport_GetModuleDict + PyImport_Import=python33.PyImport_Import + PyImport_ImportFrozenModule=python33.PyImport_ImportFrozenModule + PyImport_ImportModule=python33.PyImport_ImportModule + PyImport_ImportModuleLevel=python33.PyImport_ImportModuleLevel + PyImport_ImportModuleNoBlock=python33.PyImport_ImportModuleNoBlock + PyImport_ReloadModule=python33.PyImport_ReloadModule + PyInterpreterState_Clear=python33.PyInterpreterState_Clear + PyInterpreterState_Delete=python33.PyInterpreterState_Delete + PyInterpreterState_New=python33.PyInterpreterState_New + PyIter_Next=python33.PyIter_Next + PyListIter_Type=python33.PyListIter_Type DATA + PyListRevIter_Type=python33.PyListRevIter_Type DATA + PyList_Append=python33.PyList_Append + PyList_AsTuple=python33.PyList_AsTuple + PyList_GetItem=python33.PyList_GetItem + PyList_GetSlice=python33.PyList_GetSlice + PyList_Insert=python33.PyList_Insert + PyList_New=python33.PyList_New + PyList_Reverse=python33.PyList_Reverse + PyList_SetItem=python33.PyList_SetItem + PyList_SetSlice=python33.PyList_SetSlice + PyList_Size=python33.PyList_Size + PyList_Sort=python33.PyList_Sort + PyList_Type=python33.PyList_Type DATA + PyLongRangeIter_Type=python33.PyLongRangeIter_Type DATA + PyLong_AsDouble=python33.PyLong_AsDouble + PyLong_AsLong=python33.PyLong_AsLong + PyLong_AsLongAndOverflow=python33.PyLong_AsLongAndOverflow + PyLong_AsLongLong=python33.PyLong_AsLongLong + PyLong_AsLongLongAndOverflow=python33.PyLong_AsLongLongAndOverflow + PyLong_AsSize_t=python33.PyLong_AsSize_t + PyLong_AsSsize_t=python33.PyLong_AsSsize_t + PyLong_AsUnsignedLong=python33.PyLong_AsUnsignedLong + PyLong_AsUnsignedLongLong=python33.PyLong_AsUnsignedLongLong + PyLong_AsUnsignedLongLongMask=python33.PyLong_AsUnsignedLongLongMask + PyLong_AsUnsignedLongMask=python33.PyLong_AsUnsignedLongMask + PyLong_AsVoidPtr=python33.PyLong_AsVoidPtr + PyLong_FromDouble=python33.PyLong_FromDouble + PyLong_FromLong=python33.PyLong_FromLong + PyLong_FromLongLong=python33.PyLong_FromLongLong + PyLong_FromSize_t=python33.PyLong_FromSize_t + PyLong_FromSsize_t=python33.PyLong_FromSsize_t + PyLong_FromString=python33.PyLong_FromString + PyLong_FromUnsignedLong=python33.PyLong_FromUnsignedLong + PyLong_FromUnsignedLongLong=python33.PyLong_FromUnsignedLongLong + PyLong_FromVoidPtr=python33.PyLong_FromVoidPtr + PyLong_GetInfo=python33.PyLong_GetInfo + PyLong_Type=python33.PyLong_Type DATA + PyMap_Type=python33.PyMap_Type DATA + PyMapping_Check=python33.PyMapping_Check + PyMapping_GetItemString=python33.PyMapping_GetItemString + PyMapping_HasKey=python33.PyMapping_HasKey + PyMapping_HasKeyString=python33.PyMapping_HasKeyString + PyMapping_Items=python33.PyMapping_Items + PyMapping_Keys=python33.PyMapping_Keys + PyMapping_Length=python33.PyMapping_Length + PyMapping_SetItemString=python33.PyMapping_SetItemString + PyMapping_Size=python33.PyMapping_Size + PyMapping_Values=python33.PyMapping_Values + PyMem_Free=python33.PyMem_Free + PyMem_Malloc=python33.PyMem_Malloc + PyMem_Realloc=python33.PyMem_Realloc + PyMemberDescr_Type=python33.PyMemberDescr_Type DATA + PyMemoryView_FromObject=python33.PyMemoryView_FromObject + PyMemoryView_GetContiguous=python33.PyMemoryView_GetContiguous + PyMemoryView_Type=python33.PyMemoryView_Type DATA + PyMethodDescr_Type=python33.PyMethodDescr_Type DATA + PyModule_AddIntConstant=python33.PyModule_AddIntConstant + PyModule_AddObject=python33.PyModule_AddObject + PyModule_AddStringConstant=python33.PyModule_AddStringConstant + PyModule_Create2=python33.PyModule_Create2 + PyModule_GetDef=python33.PyModule_GetDef + PyModule_GetDict=python33.PyModule_GetDict + PyModule_GetFilename=python33.PyModule_GetFilename + PyModule_GetFilenameObject=python33.PyModule_GetFilenameObject + PyModule_GetName=python33.PyModule_GetName + PyModule_GetState=python33.PyModule_GetState + PyModule_New=python33.PyModule_New + PyModule_Type=python33.PyModule_Type DATA + PyNullImporter_Type=python33.PyNullImporter_Type DATA + PyNumber_Absolute=python33.PyNumber_Absolute + PyNumber_Add=python33.PyNumber_Add + PyNumber_And=python33.PyNumber_And + PyNumber_AsSsize_t=python33.PyNumber_AsSsize_t + PyNumber_Check=python33.PyNumber_Check + PyNumber_Divmod=python33.PyNumber_Divmod + PyNumber_Float=python33.PyNumber_Float + PyNumber_FloorDivide=python33.PyNumber_FloorDivide + PyNumber_InPlaceAdd=python33.PyNumber_InPlaceAdd + PyNumber_InPlaceAnd=python33.PyNumber_InPlaceAnd + PyNumber_InPlaceFloorDivide=python33.PyNumber_InPlaceFloorDivide + PyNumber_InPlaceLshift=python33.PyNumber_InPlaceLshift + PyNumber_InPlaceMultiply=python33.PyNumber_InPlaceMultiply + PyNumber_InPlaceOr=python33.PyNumber_InPlaceOr + PyNumber_InPlacePower=python33.PyNumber_InPlacePower + PyNumber_InPlaceRemainder=python33.PyNumber_InPlaceRemainder + PyNumber_InPlaceRshift=python33.PyNumber_InPlaceRshift + PyNumber_InPlaceSubtract=python33.PyNumber_InPlaceSubtract + PyNumber_InPlaceTrueDivide=python33.PyNumber_InPlaceTrueDivide + PyNumber_InPlaceXor=python33.PyNumber_InPlaceXor + PyNumber_Index=python33.PyNumber_Index + PyNumber_Invert=python33.PyNumber_Invert + PyNumber_Long=python33.PyNumber_Long + PyNumber_Lshift=python33.PyNumber_Lshift + PyNumber_Multiply=python33.PyNumber_Multiply + PyNumber_Negative=python33.PyNumber_Negative + PyNumber_Or=python33.PyNumber_Or + PyNumber_Positive=python33.PyNumber_Positive + PyNumber_Power=python33.PyNumber_Power + PyNumber_Remainder=python33.PyNumber_Remainder + PyNumber_Rshift=python33.PyNumber_Rshift + PyNumber_Subtract=python33.PyNumber_Subtract + PyNumber_ToBase=python33.PyNumber_ToBase + PyNumber_TrueDivide=python33.PyNumber_TrueDivide + PyNumber_Xor=python33.PyNumber_Xor + PyOS_AfterFork=python33.PyOS_AfterFork + PyOS_InitInterrupts=python33.PyOS_InitInterrupts + PyOS_InputHook=python33.PyOS_InputHook DATA + PyOS_InterruptOccurred=python33.PyOS_InterruptOccurred + PyOS_ReadlineFunctionPointer=python33.PyOS_ReadlineFunctionPointer DATA + PyOS_double_to_string=python33.PyOS_double_to_string + PyOS_getsig=python33.PyOS_getsig + PyOS_mystricmp=python33.PyOS_mystricmp + PyOS_mystrnicmp=python33.PyOS_mystrnicmp + PyOS_setsig=python33.PyOS_setsig + PyOS_snprintf=python33.PyOS_snprintf + PyOS_string_to_double=python33.PyOS_string_to_double + PyOS_strtol=python33.PyOS_strtol + PyOS_strtoul=python33.PyOS_strtoul + PyOS_vsnprintf=python33.PyOS_vsnprintf + PyObject_ASCII=python33.PyObject_ASCII + PyObject_AsCharBuffer=python33.PyObject_AsCharBuffer + PyObject_AsFileDescriptor=python33.PyObject_AsFileDescriptor + PyObject_AsReadBuffer=python33.PyObject_AsReadBuffer + PyObject_AsWriteBuffer=python33.PyObject_AsWriteBuffer + PyObject_Bytes=python33.PyObject_Bytes + PyObject_Call=python33.PyObject_Call + PyObject_CallFunction=python33.PyObject_CallFunction + PyObject_CallFunctionObjArgs=python33.PyObject_CallFunctionObjArgs + PyObject_CallMethod=python33.PyObject_CallMethod + PyObject_CallMethodObjArgs=python33.PyObject_CallMethodObjArgs + PyObject_CallObject=python33.PyObject_CallObject + PyObject_CheckReadBuffer=python33.PyObject_CheckReadBuffer + PyObject_ClearWeakRefs=python33.PyObject_ClearWeakRefs + PyObject_DelItem=python33.PyObject_DelItem + PyObject_DelItemString=python33.PyObject_DelItemString + PyObject_Dir=python33.PyObject_Dir + PyObject_Format=python33.PyObject_Format + PyObject_Free=python33.PyObject_Free + PyObject_GC_Del=python33.PyObject_GC_Del + PyObject_GC_Track=python33.PyObject_GC_Track + PyObject_GC_UnTrack=python33.PyObject_GC_UnTrack + PyObject_GenericGetAttr=python33.PyObject_GenericGetAttr + PyObject_GenericSetAttr=python33.PyObject_GenericSetAttr + PyObject_GetAttr=python33.PyObject_GetAttr + PyObject_GetAttrString=python33.PyObject_GetAttrString + PyObject_GetItem=python33.PyObject_GetItem + PyObject_GetIter=python33.PyObject_GetIter + PyObject_HasAttr=python33.PyObject_HasAttr + PyObject_HasAttrString=python33.PyObject_HasAttrString + PyObject_Hash=python33.PyObject_Hash + PyObject_HashNotImplemented=python33.PyObject_HashNotImplemented + PyObject_Init=python33.PyObject_Init + PyObject_InitVar=python33.PyObject_InitVar + PyObject_IsInstance=python33.PyObject_IsInstance + PyObject_IsSubclass=python33.PyObject_IsSubclass + PyObject_IsTrue=python33.PyObject_IsTrue + PyObject_Length=python33.PyObject_Length + PyObject_Malloc=python33.PyObject_Malloc + PyObject_Not=python33.PyObject_Not + PyObject_Realloc=python33.PyObject_Realloc + PyObject_Repr=python33.PyObject_Repr + PyObject_RichCompare=python33.PyObject_RichCompare + PyObject_RichCompareBool=python33.PyObject_RichCompareBool + PyObject_SelfIter=python33.PyObject_SelfIter + PyObject_SetAttr=python33.PyObject_SetAttr + PyObject_SetAttrString=python33.PyObject_SetAttrString + PyObject_SetItem=python33.PyObject_SetItem + PyObject_Size=python33.PyObject_Size + PyObject_Str=python33.PyObject_Str + PyObject_Type=python33.PyObject_Type DATA + PyParser_SimpleParseFileFlags=python33.PyParser_SimpleParseFileFlags + PyParser_SimpleParseStringFlags=python33.PyParser_SimpleParseStringFlags + PyProperty_Type=python33.PyProperty_Type DATA + PyRangeIter_Type=python33.PyRangeIter_Type DATA + PyRange_Type=python33.PyRange_Type DATA + PyReversed_Type=python33.PyReversed_Type DATA + PySeqIter_New=python33.PySeqIter_New + PySeqIter_Type=python33.PySeqIter_Type DATA + PySequence_Check=python33.PySequence_Check + PySequence_Concat=python33.PySequence_Concat + PySequence_Contains=python33.PySequence_Contains + PySequence_Count=python33.PySequence_Count + PySequence_DelItem=python33.PySequence_DelItem + PySequence_DelSlice=python33.PySequence_DelSlice + PySequence_Fast=python33.PySequence_Fast + PySequence_GetItem=python33.PySequence_GetItem + PySequence_GetSlice=python33.PySequence_GetSlice + PySequence_In=python33.PySequence_In + PySequence_InPlaceConcat=python33.PySequence_InPlaceConcat + PySequence_InPlaceRepeat=python33.PySequence_InPlaceRepeat + PySequence_Index=python33.PySequence_Index + PySequence_Length=python33.PySequence_Length + PySequence_List=python33.PySequence_List + PySequence_Repeat=python33.PySequence_Repeat + PySequence_SetItem=python33.PySequence_SetItem + PySequence_SetSlice=python33.PySequence_SetSlice + PySequence_Size=python33.PySequence_Size + PySequence_Tuple=python33.PySequence_Tuple + PySetIter_Type=python33.PySetIter_Type DATA + PySet_Add=python33.PySet_Add + PySet_Clear=python33.PySet_Clear + PySet_Contains=python33.PySet_Contains + PySet_Discard=python33.PySet_Discard + PySet_New=python33.PySet_New + PySet_Pop=python33.PySet_Pop + PySet_Size=python33.PySet_Size + PySet_Type=python33.PySet_Type DATA + PySlice_GetIndices=python33.PySlice_GetIndices + PySlice_GetIndicesEx=python33.PySlice_GetIndicesEx + PySlice_New=python33.PySlice_New + PySlice_Type=python33.PySlice_Type DATA + PySortWrapper_Type=python33.PySortWrapper_Type DATA + PyState_FindModule=python33.PyState_FindModule + PyStructSequence_GetItem=python33.PyStructSequence_GetItem + PyStructSequence_New=python33.PyStructSequence_New + PyStructSequence_NewType=python33.PyStructSequence_NewType + PyStructSequence_SetItem=python33.PyStructSequence_SetItem + PySuper_Type=python33.PySuper_Type DATA + PySys_AddWarnOption=python33.PySys_AddWarnOption + PySys_AddWarnOptionUnicode=python33.PySys_AddWarnOptionUnicode + PySys_FormatStderr=python33.PySys_FormatStderr + PySys_FormatStdout=python33.PySys_FormatStdout + PySys_GetObject=python33.PySys_GetObject + PySys_HasWarnOptions=python33.PySys_HasWarnOptions + PySys_ResetWarnOptions=python33.PySys_ResetWarnOptions + PySys_SetArgv=python33.PySys_SetArgv + PySys_SetArgvEx=python33.PySys_SetArgvEx + PySys_SetObject=python33.PySys_SetObject + PySys_SetPath=python33.PySys_SetPath + PySys_WriteStderr=python33.PySys_WriteStderr + PySys_WriteStdout=python33.PySys_WriteStdout + PyThreadState_Clear=python33.PyThreadState_Clear + PyThreadState_Delete=python33.PyThreadState_Delete + PyThreadState_DeleteCurrent=python33.PyThreadState_DeleteCurrent + PyThreadState_Get=python33.PyThreadState_Get + PyThreadState_GetDict=python33.PyThreadState_GetDict + PyThreadState_New=python33.PyThreadState_New + PyThreadState_SetAsyncExc=python33.PyThreadState_SetAsyncExc + PyThreadState_Swap=python33.PyThreadState_Swap + PyTraceBack_Here=python33.PyTraceBack_Here + PyTraceBack_Print=python33.PyTraceBack_Print + PyTraceBack_Type=python33.PyTraceBack_Type DATA + PyTupleIter_Type=python33.PyTupleIter_Type DATA + PyTuple_ClearFreeList=python33.PyTuple_ClearFreeList + PyTuple_GetItem=python33.PyTuple_GetItem + PyTuple_GetSlice=python33.PyTuple_GetSlice + PyTuple_New=python33.PyTuple_New + PyTuple_Pack=python33.PyTuple_Pack + PyTuple_SetItem=python33.PyTuple_SetItem + PyTuple_Size=python33.PyTuple_Size + PyTuple_Type=python33.PyTuple_Type DATA + PyType_ClearCache=python33.PyType_ClearCache + PyType_FromSpec=python33.PyType_FromSpec + PyType_GenericAlloc=python33.PyType_GenericAlloc + PyType_GenericNew=python33.PyType_GenericNew + PyType_GetFlags=python33.PyType_GetFlags + PyType_IsSubtype=python33.PyType_IsSubtype + PyType_Modified=python33.PyType_Modified + PyType_Ready=python33.PyType_Ready + PyType_Type=python33.PyType_Type DATA + PyUnicodeDecodeError_Create=python33.PyUnicodeDecodeError_Create + PyUnicodeDecodeError_GetEncoding=python33.PyUnicodeDecodeError_GetEncoding + PyUnicodeDecodeError_GetEnd=python33.PyUnicodeDecodeError_GetEnd + PyUnicodeDecodeError_GetObject=python33.PyUnicodeDecodeError_GetObject + PyUnicodeDecodeError_GetReason=python33.PyUnicodeDecodeError_GetReason + PyUnicodeDecodeError_GetStart=python33.PyUnicodeDecodeError_GetStart + PyUnicodeDecodeError_SetEnd=python33.PyUnicodeDecodeError_SetEnd + PyUnicodeDecodeError_SetReason=python33.PyUnicodeDecodeError_SetReason + PyUnicodeDecodeError_SetStart=python33.PyUnicodeDecodeError_SetStart + PyUnicodeEncodeError_GetEncoding=python33.PyUnicodeEncodeError_GetEncoding + PyUnicodeEncodeError_GetEnd=python33.PyUnicodeEncodeError_GetEnd + PyUnicodeEncodeError_GetObject=python33.PyUnicodeEncodeError_GetObject + PyUnicodeEncodeError_GetReason=python33.PyUnicodeEncodeError_GetReason + PyUnicodeEncodeError_GetStart=python33.PyUnicodeEncodeError_GetStart + PyUnicodeEncodeError_SetEnd=python33.PyUnicodeEncodeError_SetEnd + PyUnicodeEncodeError_SetReason=python33.PyUnicodeEncodeError_SetReason + PyUnicodeEncodeError_SetStart=python33.PyUnicodeEncodeError_SetStart + PyUnicodeIter_Type=python33.PyUnicodeIter_Type DATA + PyUnicodeTranslateError_GetEnd=python33.PyUnicodeTranslateError_GetEnd + PyUnicodeTranslateError_GetObject=python33.PyUnicodeTranslateError_GetObject + PyUnicodeTranslateError_GetReason=python33.PyUnicodeTranslateError_GetReason + PyUnicodeTranslateError_GetStart=python33.PyUnicodeTranslateError_GetStart + PyUnicodeTranslateError_SetEnd=python33.PyUnicodeTranslateError_SetEnd + PyUnicodeTranslateError_SetReason=python33.PyUnicodeTranslateError_SetReason + PyUnicodeTranslateError_SetStart=python33.PyUnicodeTranslateError_SetStart + PyUnicode_Append=python33.PyUnicodeUCS2_Append + PyUnicode_AppendAndDel=python33.PyUnicodeUCS2_AppendAndDel + PyUnicode_AsASCIIString=python33.PyUnicodeUCS2_AsASCIIString + PyUnicode_AsCharmapString=python33.PyUnicodeUCS2_AsCharmapString + PyUnicode_AsDecodedObject=python33.PyUnicodeUCS2_AsDecodedObject + PyUnicode_AsDecodedUnicode=python33.PyUnicodeUCS2_AsDecodedUnicode + PyUnicode_AsEncodedObject=python33.PyUnicodeUCS2_AsEncodedObject + PyUnicode_AsEncodedString=python33.PyUnicodeUCS2_AsEncodedString + PyUnicode_AsEncodedUnicode=python33.PyUnicodeUCS2_AsEncodedUnicode + PyUnicode_AsLatin1String=python33.PyUnicodeUCS2_AsLatin1String + PyUnicode_AsRawUnicodeEscapeString=python33.PyUnicodeUCS2_AsRawUnicodeEscapeString + PyUnicode_AsUTF16String=python33.PyUnicodeUCS2_AsUTF16String + PyUnicode_AsUTF32String=python33.PyUnicodeUCS2_AsUTF32String + PyUnicode_AsUTF8String=python33.PyUnicodeUCS2_AsUTF8String + PyUnicode_AsUnicodeEscapeString=python33.PyUnicodeUCS2_AsUnicodeEscapeString + PyUnicode_AsWideChar=python33.PyUnicodeUCS2_AsWideChar + PyUnicode_ClearFreelist=python33.PyUnicodeUCS2_ClearFreelist + PyUnicode_Compare=python33.PyUnicodeUCS2_Compare + PyUnicode_Concat=python33.PyUnicodeUCS2_Concat + PyUnicode_Contains=python33.PyUnicodeUCS2_Contains + PyUnicode_Count=python33.PyUnicodeUCS2_Count + PyUnicode_Decode=python33.PyUnicodeUCS2_Decode + PyUnicode_DecodeASCII=python33.PyUnicodeUCS2_DecodeASCII + PyUnicode_DecodeCharmap=python33.PyUnicodeUCS2_DecodeCharmap + PyUnicode_DecodeFSDefault=python33.PyUnicodeUCS2_DecodeFSDefault + PyUnicode_DecodeFSDefaultAndSize=python33.PyUnicodeUCS2_DecodeFSDefaultAndSize + PyUnicode_DecodeLatin1=python33.PyUnicodeUCS2_DecodeLatin1 + PyUnicode_DecodeRawUnicodeEscape=python33.PyUnicodeUCS2_DecodeRawUnicodeEscape + PyUnicode_DecodeUTF16=python33.PyUnicodeUCS2_DecodeUTF16 + PyUnicode_DecodeUTF16Stateful=python33.PyUnicodeUCS2_DecodeUTF16Stateful + PyUnicode_DecodeUTF32=python33.PyUnicodeUCS2_DecodeUTF32 + PyUnicode_DecodeUTF32Stateful=python33.PyUnicodeUCS2_DecodeUTF32Stateful + PyUnicode_DecodeUTF8=python33.PyUnicodeUCS2_DecodeUTF8 + PyUnicode_DecodeUTF8Stateful=python33.PyUnicodeUCS2_DecodeUTF8Stateful + PyUnicode_DecodeUnicodeEscape=python33.PyUnicodeUCS2_DecodeUnicodeEscape + PyUnicode_FSConverter=python33.PyUnicodeUCS2_FSConverter + PyUnicode_FSDecoder=python33.PyUnicodeUCS2_FSDecoder + PyUnicode_Find=python33.PyUnicodeUCS2_Find + PyUnicode_Format=python33.PyUnicodeUCS2_Format + PyUnicode_FromEncodedObject=python33.PyUnicodeUCS2_FromEncodedObject + PyUnicode_FromFormat=python33.PyUnicodeUCS2_FromFormat + PyUnicode_FromFormatV=python33.PyUnicodeUCS2_FromFormatV + PyUnicode_FromObject=python33.PyUnicodeUCS2_FromObject + PyUnicode_FromOrdinal=python33.PyUnicodeUCS2_FromOrdinal + PyUnicode_FromString=python33.PyUnicodeUCS2_FromString + PyUnicode_FromStringAndSize=python33.PyUnicodeUCS2_FromStringAndSize + PyUnicode_FromWideChar=python33.PyUnicodeUCS2_FromWideChar + PyUnicode_GetDefaultEncoding=python33.PyUnicodeUCS2_GetDefaultEncoding + PyUnicode_GetSize=python33.PyUnicodeUCS2_GetSize + PyUnicode_IsIdentifier=python33.PyUnicodeUCS2_IsIdentifier + PyUnicode_Join=python33.PyUnicodeUCS2_Join + PyUnicode_Partition=python33.PyUnicodeUCS2_Partition + PyUnicode_RPartition=python33.PyUnicodeUCS2_RPartition + PyUnicode_RSplit=python33.PyUnicodeUCS2_RSplit + PyUnicode_Replace=python33.PyUnicodeUCS2_Replace + PyUnicode_Resize=python33.PyUnicodeUCS2_Resize + PyUnicode_RichCompare=python33.PyUnicodeUCS2_RichCompare + PyUnicode_SetDefaultEncoding=python33.PyUnicodeUCS2_SetDefaultEncoding + PyUnicode_Split=python33.PyUnicodeUCS2_Split + PyUnicode_Splitlines=python33.PyUnicodeUCS2_Splitlines + PyUnicode_Tailmatch=python33.PyUnicodeUCS2_Tailmatch + PyUnicode_Translate=python33.PyUnicodeUCS2_Translate + PyUnicode_BuildEncodingMap=python33.PyUnicode_BuildEncodingMap + PyUnicode_CompareWithASCIIString=python33.PyUnicode_CompareWithASCIIString + PyUnicode_DecodeUTF7=python33.PyUnicode_DecodeUTF7 + PyUnicode_DecodeUTF7Stateful=python33.PyUnicode_DecodeUTF7Stateful + PyUnicode_EncodeFSDefault=python33.PyUnicode_EncodeFSDefault + PyUnicode_InternFromString=python33.PyUnicode_InternFromString + PyUnicode_InternImmortal=python33.PyUnicode_InternImmortal + PyUnicode_InternInPlace=python33.PyUnicode_InternInPlace + PyUnicode_Type=python33.PyUnicode_Type DATA + PyWeakref_GetObject=python33.PyWeakref_GetObject DATA + PyWeakref_NewProxy=python33.PyWeakref_NewProxy + PyWeakref_NewRef=python33.PyWeakref_NewRef + PyWrapperDescr_Type=python33.PyWrapperDescr_Type DATA + PyWrapper_New=python33.PyWrapper_New + PyZip_Type=python33.PyZip_Type DATA + Py_AddPendingCall=python33.Py_AddPendingCall + Py_AtExit=python33.Py_AtExit + Py_BuildValue=python33.Py_BuildValue + Py_CompileString=python33.Py_CompileString + Py_DecRef=python33.Py_DecRef + Py_EndInterpreter=python33.Py_EndInterpreter + Py_Exit=python33.Py_Exit + Py_FatalError=python33.Py_FatalError + Py_FileSystemDefaultEncoding=python33.Py_FileSystemDefaultEncoding DATA + Py_Finalize=python33.Py_Finalize + Py_GetBuildInfo=python33.Py_GetBuildInfo + Py_GetCompiler=python33.Py_GetCompiler + Py_GetCopyright=python33.Py_GetCopyright + Py_GetExecPrefix=python33.Py_GetExecPrefix + Py_GetPath=python33.Py_GetPath + Py_GetPlatform=python33.Py_GetPlatform + Py_GetPrefix=python33.Py_GetPrefix + Py_GetProgramFullPath=python33.Py_GetProgramFullPath + Py_GetProgramName=python33.Py_GetProgramName + Py_GetPythonHome=python33.Py_GetPythonHome + Py_GetRecursionLimit=python33.Py_GetRecursionLimit + Py_GetVersion=python33.Py_GetVersion + Py_HasFileSystemDefaultEncoding=python33.Py_HasFileSystemDefaultEncoding DATA + Py_IncRef=python33.Py_IncRef + Py_Initialize=python33.Py_Initialize + Py_InitializeEx=python33.Py_InitializeEx + Py_IsInitialized=python33.Py_IsInitialized + Py_Main=python33.Py_Main + Py_MakePendingCalls=python33.Py_MakePendingCalls + Py_NewInterpreter=python33.Py_NewInterpreter + Py_ReprEnter=python33.Py_ReprEnter + Py_ReprLeave=python33.Py_ReprLeave + Py_SetProgramName=python33.Py_SetProgramName + Py_SetPythonHome=python33.Py_SetPythonHome + Py_SetRecursionLimit=python33.Py_SetRecursionLimit + Py_SymtableString=python33.Py_SymtableString + Py_VaBuildValue=python33.Py_VaBuildValue + _PyErr_BadInternalCall=python33._PyErr_BadInternalCall + _PyObject_CallFunction_SizeT=python33._PyObject_CallFunction_SizeT + _PyObject_CallMethod_SizeT=python33._PyObject_CallMethod_SizeT + _PyObject_GC_Malloc=python33._PyObject_GC_Malloc + _PyObject_GC_New=python33._PyObject_GC_New + _PyObject_GC_NewVar=python33._PyObject_GC_NewVar + _PyObject_GC_Resize=python33._PyObject_GC_Resize + _PyObject_New=python33._PyObject_New + _PyObject_NewVar=python33._PyObject_NewVar + _PyState_AddModule=python33._PyState_AddModule + _PyThreadState_Init=python33._PyThreadState_Init + _PyThreadState_Prealloc=python33._PyThreadState_Prealloc + _PyTrash_delete_later=python33._PyTrash_delete_later DATA + _PyTrash_delete_nesting=python33._PyTrash_delete_nesting DATA + _PyTrash_deposit_object=python33._PyTrash_deposit_object + _PyTrash_destroy_chain=python33._PyTrash_destroy_chain + _PyWeakref_CallableProxyType=python33._PyWeakref_CallableProxyType DATA + _PyWeakref_ProxyType=python33._PyWeakref_ProxyType DATA + _PyWeakref_RefType=python33._PyWeakref_RefType DATA + _Py_BuildValue_SizeT=python33._Py_BuildValue_SizeT + _Py_CheckRecursionLimit=python33._Py_CheckRecursionLimit DATA + _Py_CheckRecursiveCall=python33._Py_CheckRecursiveCall + _Py_Dealloc=python33._Py_Dealloc + _Py_EllipsisObject=python33._Py_EllipsisObject DATA + _Py_FalseStruct=python33._Py_FalseStruct DATA + _Py_NoneStruct=python33._Py_NoneStruct DATA + _Py_NotImplementedStruct=python33._Py_NotImplementedStruct DATA + _Py_SwappedOp=python33._Py_SwappedOp DATA + _Py_TrueStruct=python33._Py_TrueStruct DATA + _Py_VaBuildValue_SizeT=python33._Py_VaBuildValue_SizeT diff --git a/PC/python3.mak b/PC/python3.mak index 256167f..ce65fba 100644 --- a/PC/python3.mak +++ b/PC/python3.mak @@ -1,10 +1,10 @@ -$(OutDir)python32.dll: python3.def $(OutDir)python32stub.lib - cl /LD /Fe$(OutDir)python3.dll python3dll.c python3.def $(OutDir)python32stub.lib +$(OutDir)python33.dll: python3.def $(OutDir)python33stub.lib + cl /LD /Fe$(OutDir)python3.dll python3dll.c python3.def $(OutDir)python33stub.lib -$(OutDir)python32stub.lib: python32stub.def - lib /def:python32stub.def /out:$(OutDir)python32stub.lib /MACHINE:$(MACHINE) +$(OutDir)python33stub.lib: python33stub.def + lib /def:python33stub.def /out:$(OutDir)python33stub.lib /MACHINE:$(MACHINE) clean: - del $(OutDir)python3.dll $(OutDir)python3.lib $(OutDir)python32stub.lib $(OutDir)python3.exp $(OutDir)python32stub.exp + del $(OutDir)python3.dll $(OutDir)python3.lib $(OutDir)python33stub.lib $(OutDir)python3.exp $(OutDir)python33stub.exp -rebuild: clean $(OutDir)python32.dll +rebuild: clean $(OutDir)python33.dll diff --git a/PC/python32gen.py b/PC/python33gen.py index 9182d54..a85f417 100644 --- a/PC/python32gen.py +++ b/PC/python33gen.py @@ -1,9 +1,9 @@ -# Generate python32stub.def out of python3.def +# Generate python33stub.def out of python3.def # The regular import library cannot be used, # since it doesn't provide the right symbols for # data forwarding -out = open("python32stub.def", "w") -out.write('LIBRARY "python32"\n') +out = open("python33stub.def", "w") +out.write('LIBRARY "python33"\n') out.write('EXPORTS\n') inp = open("python3.def") @@ -12,7 +12,7 @@ line = inp.readline() assert line.strip()=='EXPORTS' for line in inp: - # SYM1=python32.SYM2[ DATA] + # SYM1=python33.SYM2[ DATA] head, tail = line.split('.') if 'DATA' in tail: symbol, tail = tail.split(' ') @@ -22,4 +22,3 @@ for line in inp: inp.close() out.close() - diff --git a/PC/python32stub.def b/PC/python33stub.def index 0943ef0..6e4ed9f 100644 --- a/PC/python32stub.def +++ b/PC/python33stub.def @@ -1,4 +1,4 @@ -LIBRARY "python32" +LIBRARY "python33" EXPORTS PyArg_Parse PyArg_ParseTuple diff --git a/PC/winreg.c b/PC/winreg.c index 1bc47b9..451ced2 100644 --- a/PC/winreg.c +++ b/PC/winreg.c @@ -760,26 +760,27 @@ Py2Reg(PyObject *value, DWORD typ, BYTE **retDataBuf, DWORD *retDataSize) case REG_SZ: case REG_EXPAND_SZ: { - if (value == Py_None) - *retDataSize = 1; - else { - if (!PyUnicode_Check(value)) - return FALSE; - *retDataSize = Py_SAFE_DOWNCAST( - 2 + PyUnicode_GET_DATA_SIZE(value), - size_t, DWORD); - } - *retDataBuf = (BYTE *)PyMem_NEW(DWORD, *retDataSize); - if (*retDataBuf==NULL){ - PyErr_NoMemory(); - return FALSE; - } - if (value == Py_None) - wcscpy((wchar_t *)*retDataBuf, L""); - else - wcscpy((wchar_t *)*retDataBuf, - PyUnicode_AS_UNICODE(value)); - break; + if (value != Py_None) { + Py_ssize_t len; + if (!PyUnicode_Check(value)) + return FALSE; + *retDataBuf = (BYTE*)PyUnicode_AsWideCharString(value, &len); + if (*retDataBuf == NULL) + return FALSE; + *retDataSize = Py_SAFE_DOWNCAST( + (len + 1) * sizeof(wchar_t), + Py_ssize_t, DWORD); + } + else { + *retDataBuf = (BYTE *)PyMem_NEW(wchar_t, 1); + if (*retDataBuf == NULL) { + PyErr_NoMemory(); + return FALSE; + } + ((wchar_t *)*retDataBuf)[0] = L'\0'; + *retDataSize = 1 * sizeof(wchar_t); + } + break; } case REG_MULTI_SZ: { @@ -796,10 +797,16 @@ Py2Reg(PyObject *value, DWORD typ, BYTE **retDataBuf, DWORD *retDataSize) for (j = 0; j < i; j++) { PyObject *t; + wchar_t *wstr; + Py_ssize_t len; + t = PyList_GET_ITEM(value, j); if (!PyUnicode_Check(t)) return FALSE; - size += Py_SAFE_DOWNCAST(2 + PyUnicode_GET_DATA_SIZE(t), + wstr = PyUnicode_AsUnicodeAndSize(t, &len); + if (wstr == NULL) + return FALSE; + size += Py_SAFE_DOWNCAST((len + 1) * sizeof(wchar_t), size_t, DWORD); } @@ -815,10 +822,15 @@ Py2Reg(PyObject *value, DWORD typ, BYTE **retDataBuf, DWORD *retDataSize) for (j = 0; j < i; j++) { PyObject *t; + wchar_t *wstr; + Py_ssize_t len; + t = PyList_GET_ITEM(value, j); - wcscpy(P, PyUnicode_AS_UNICODE(t)); - P += 1 + wcslen( - PyUnicode_AS_UNICODE(t)); + wstr = PyUnicode_AsUnicodeAndSize(t, &len); + if (wstr == NULL) + return FALSE; + wcscpy(P, wstr); + P += (len + 1); } /* And doubly-terminate the list... */ *P = '\0'; @@ -882,7 +894,7 @@ Reg2Py(BYTE *retDataBuf, DWORD retDataSize, DWORD typ) retDataSize -= 2; if (retDataSize <= 0) data = L""; - obData = PyUnicode_FromUnicode(data, retDataSize/2); + obData = PyUnicode_FromWideChar(data, retDataSize/2); break; } case REG_MULTI_SZ: @@ -913,7 +925,7 @@ Reg2Py(BYTE *retDataBuf, DWORD retDataSize, DWORD typ) } PyList_SetItem(obData, index, - PyUnicode_FromUnicode(str[index], len)); + PyUnicode_FromWideChar(str[index], len)); } free(str); @@ -1054,7 +1066,7 @@ PyDeleteKeyEx(PyObject *self, PyObject *args, PyObject *kwargs) /* Only available on 64bit platforms, so we must load it dynamically. */ - hMod = GetModuleHandle("advapi32.dll"); + hMod = GetModuleHandleW(L"advapi32.dll"); if (hMod) pfn = (RDKEFunc)GetProcAddress(hMod, "RegDeleteKeyExW"); @@ -1123,7 +1135,7 @@ PyEnumKey(PyObject *self, PyObject *args) if (rc != ERROR_SUCCESS) return PyErr_SetFromWindowsErrWithFunction(rc, "RegEnumKeyEx"); - retStr = PyUnicode_FromUnicode(tmpbuf, len); + retStr = PyUnicode_FromWideChar(tmpbuf, len); return retStr; /* can be NULL */ } @@ -1215,8 +1227,8 @@ PyEnumValue(PyObject *self, PyObject *args) static PyObject * PyExpandEnvironmentStrings(PyObject *self, PyObject *args) { - Py_UNICODE *retValue = NULL; - Py_UNICODE *src; + wchar_t *retValue = NULL; + wchar_t *src; DWORD retValueSize; DWORD rc; PyObject *o; @@ -1229,7 +1241,7 @@ PyExpandEnvironmentStrings(PyObject *self, PyObject *args) return PyErr_SetFromWindowsErrWithFunction(retValueSize, "ExpandEnvironmentStrings"); } - retValue = (Py_UNICODE *)PyMem_Malloc(retValueSize * sizeof(Py_UNICODE)); + retValue = (wchar_t *)PyMem_Malloc(retValueSize * sizeof(wchar_t)); if (retValue == NULL) { return PyErr_NoMemory(); } @@ -1240,7 +1252,7 @@ PyExpandEnvironmentStrings(PyObject *self, PyObject *args) return PyErr_SetFromWindowsErrWithFunction(retValueSize, "ExpandEnvironmentStrings"); } - o = PyUnicode_FromUnicode(retValue, wcslen(retValue)); + o = PyUnicode_FromWideChar(retValue, wcslen(retValue)); PyMem_Free(retValue); return o; } @@ -1394,7 +1406,7 @@ PyQueryValue(PyObject *self, PyObject *args) "RegQueryValue"); } - retStr = PyUnicode_FromUnicode(retBuf, wcslen(retBuf)); + retStr = PyUnicode_FromWideChar(retBuf, wcslen(retBuf)); PyMem_Free(retBuf); return retStr; } @@ -1525,7 +1537,7 @@ PySetValueEx(PyObject *self, PyObject *args) { HKEY hKey; PyObject *obKey; - Py_UNICODE *valueName; + wchar_t *valueName; PyObject *obRes; PyObject *value; BYTE *data; @@ -1578,7 +1590,7 @@ PyDisableReflectionKey(PyObject *self, PyObject *args) /* Only available on 64bit platforms, so we must load it dynamically.*/ - hMod = GetModuleHandle("advapi32.dll"); + hMod = GetModuleHandleW(L"advapi32.dll"); if (hMod) pfn = (RDRKFunc)GetProcAddress(hMod, "RegDisableReflectionKey"); @@ -1614,7 +1626,7 @@ PyEnableReflectionKey(PyObject *self, PyObject *args) /* Only available on 64bit platforms, so we must load it dynamically.*/ - hMod = GetModuleHandle("advapi32.dll"); + hMod = GetModuleHandleW(L"advapi32.dll"); if (hMod) pfn = (RERKFunc)GetProcAddress(hMod, "RegEnableReflectionKey"); @@ -1651,7 +1663,7 @@ PyQueryReflectionKey(PyObject *self, PyObject *args) /* Only available on 64bit platforms, so we must load it dynamically.*/ - hMod = GetModuleHandle("advapi32.dll"); + hMod = GetModuleHandleW(L"advapi32.dll"); if (hMod) pfn = (RQRKFunc)GetProcAddress(hMod, "RegQueryReflectionKey"); diff --git a/PC/winsound.c b/PC/winsound.c index 1ed95ba..b564eab 100644 --- a/PC/winsound.c +++ b/PC/winsound.c @@ -72,7 +72,7 @@ PyDoc_STRVAR(sound_module_doc, static PyObject * sound_playsound(PyObject *s, PyObject *args) { - Py_UNICODE *wsound; + wchar_t *wsound; int flags; int ok; |