From: Martin v. Löwis Date: Mon, 1 Dec 2008 04:49:40 +0000 (+0000) Subject: Merged revisions 67455 via svnmerge from X-Git-Tag: v2.6.1~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1d8592b75b36016aa0d17402fcf5951f30a3114c;p=thirdparty%2FPython%2Fcpython.git Merged revisions 67455 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r67455 | martin.v.loewis | 2008-11-30 20:28:27 +0100 (So, 30 Nov 2008) | 1 line Issue #4365: Add crtassem.h constants to the msvcrt module. ........ --- diff --git a/Misc/NEWS b/Misc/NEWS index 615812fcacb1..300f7e7b92c5 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -104,6 +104,8 @@ C-API Extension Modules ----------------- +- Issue #4365: Add crtassem.h constants to the msvcrt module. + - Issue #4396: The parser module now correctly validates the with statement. diff --git a/PC/msvcrtmodule.c b/PC/msvcrtmodule.c index 95e369b42499..cad22b19e0a0 100755 --- a/PC/msvcrtmodule.c +++ b/PC/msvcrtmodule.c @@ -22,6 +22,12 @@ #include #include +#ifdef _MSC_VER +#if _MSC_VER >= 1500 +#include +#endif +#endif + // Force the malloc heap to clean itself up, and free unused blocks // back to the OS. (According to the docs, only works on NT.) static PyObject * @@ -298,6 +304,7 @@ static struct PyMethodDef msvcrt_functions[] = { PyMODINIT_FUNC initmsvcrt(void) { + int st; PyObject *d; PyObject *m = Py_InitModule("msvcrt", msvcrt_functions); if (m == NULL) @@ -310,4 +317,21 @@ initmsvcrt(void) insertint(d, "LK_NBRLCK", _LK_NBRLCK); insertint(d, "LK_RLCK", _LK_RLCK); insertint(d, "LK_UNLCK", _LK_UNLCK); + + /* constants for the crt versions */ +#ifdef _VC_ASSEMBLY_PUBLICKEYTOKEN + st = PyModule_AddStringConstant(m, "VC_ASSEMBLY_PUBLICKEYTOKEN", + _VC_ASSEMBLY_PUBLICKEYTOKEN); + if (st < 0)return; +#endif +#ifdef _CRT_ASSEMBLY_VERSION + st = PyModule_AddStringConstant(m, "CRT_ASSEMBLY_VERSION", + _CRT_ASSEMBLY_VERSION); + if (st < 0)return; +#endif +#ifdef __LIBRARIES_ASSEMBLY_NAME_PREFIX + st = PyModule_AddStringConstant(m, "LIBRARIES_ASSEMBLY_NAME_PREFIX", + __LIBRARIES_ASSEMBLY_NAME_PREFIX); + if (st < 0)return; +#endif }