[Python-checkins] r67466 - in python/branches/release26-maint: Misc/NEWS PC/msvcrtmodule.c

martin.v.loewis python-checkins at python.org
Mon Dec 1 05:49:40 CET 2008


Author: martin.v.loewis
Date: Mon Dec  1 05:49:40 2008
New Revision: 67466

Log:
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.
........


Modified:
   python/branches/release26-maint/   (props changed)
   python/branches/release26-maint/Misc/NEWS
   python/branches/release26-maint/PC/msvcrtmodule.c

Modified: python/branches/release26-maint/Misc/NEWS
==============================================================================
--- python/branches/release26-maint/Misc/NEWS	(original)
+++ python/branches/release26-maint/Misc/NEWS	Mon Dec  1 05:49:40 2008
@@ -104,6 +104,8 @@
 Extension Modules
 -----------------
 
+- Issue #4365: Add crtassem.h constants to the msvcrt module.
+
 - Issue #4396: The parser module now correctly validates the with statement.
 
 

Modified: python/branches/release26-maint/PC/msvcrtmodule.c
==============================================================================
--- python/branches/release26-maint/PC/msvcrtmodule.c	(original)
+++ python/branches/release26-maint/PC/msvcrtmodule.c	Mon Dec  1 05:49:40 2008
@@ -22,6 +22,12 @@
 #include <conio.h>
 #include <sys/locking.h>
 
+#ifdef _MSC_VER
+#if _MSC_VER >= 1500
+#include <crtassem.h>
+#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 @@
 PyMODINIT_FUNC
 initmsvcrt(void)
 {
+	int st;
 	PyObject *d;
 	PyObject *m = Py_InitModule("msvcrt", msvcrt_functions);
 	if (m == NULL)
@@ -310,4 +317,21 @@
 	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
 }


More information about the Python-checkins mailing list