[pypy-svn] r61761 - in pypy/trunk/pypy: lib/_ctypes module/_rawffi
afa at codespeak.net
afa at codespeak.net
Thu Feb 12 00:03:15 CET 2009
Author: afa
Date: Thu Feb 12 00:03:14 2009
New Revision: 61761
Modified:
pypy/trunk/pypy/lib/_ctypes/primitive.py
pypy/trunk/pypy/module/_rawffi/interp_rawffi.py
Log:
On windows, add the 'X' (BSTR) and 'v' (vBOOL) primitive types.
Now "import ctype.wintypes" works
Modified: pypy/trunk/pypy/lib/_ctypes/primitive.py
==============================================================================
--- pypy/trunk/pypy/lib/_ctypes/primitive.py (original)
+++ pypy/trunk/pypy/lib/_ctypes/primitive.py Thu Feb 12 00:03:14 2009
@@ -1,5 +1,6 @@
import _rawffi
import weakref
+import sys
SIMPLE_TYPE_CHARS = "cbBhHiIlLdfuzZqQPXOv"
@@ -32,7 +33,11 @@
'z': None,
'Z': None,
}
-
+
+if sys.platform == 'win32':
+ TP_TO_DEFAULT['X'] = NULL
+ TP_TO_DEFAULT['v'] = 0
+
DEFAULT_VALUE = object()
class GlobalPyobjContainer(object):
Modified: pypy/trunk/pypy/module/_rawffi/interp_rawffi.py
==============================================================================
--- pypy/trunk/pypy/module/_rawffi/interp_rawffi.py (original)
+++ pypy/trunk/pypy/module/_rawffi/interp_rawffi.py Thu Feb 12 00:03:14 2009
@@ -42,6 +42,11 @@
}
TYPEMAP_PTR_LETTERS = "POszZ"
+if _MS_WINDOWS:
+ TYPEMAP['X'] = ffi_type_pointer
+ TYPEMAP['v'] = ffi_type_sshort
+ TYPEMAP_PTR_LETTERS += 'X'
+
def size_alignment(ffi_type):
return intmask(ffi_type.c_size), intmask(ffi_type.c_alignment)
More information about the Pypy-commit
mailing list