diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2020-10-19 22:06:05 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-19 22:06:05 (GMT) |
commit | 5456e78f4593edc277ab72fb9a9db1ebae7d4c2d (patch) | |
tree | 5cd3f92044f0287dbd6724a89f3276939a9b975d /Modules/_ctypes | |
parent | 33242a9328cb3912f02819d2d092bf89681000b2 (diff) | |
download | cpython-5456e78f4593edc277ab72fb9a9db1ebae7d4c2d.zip cpython-5456e78f4593edc277ab72fb9a9db1ebae7d4c2d.tar.gz cpython-5456e78f4593edc277ab72fb9a9db1ebae7d4c2d.tar.bz2 |
bpo-16396: Allow wintypes to be imported on non-Windows systems. (GH-21394)
Co-authored-by: Christian Heimes <christian@python.org>
Diffstat (limited to 'Modules/_ctypes')
-rw-r--r-- | Modules/_ctypes/cfield.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/Modules/_ctypes/cfield.c b/Modules/_ctypes/cfield.c index 3bd9ae4..9893929 100644 --- a/Modules/_ctypes/cfield.c +++ b/Modules/_ctypes/cfield.c @@ -658,7 +658,11 @@ i_get_sw(void *ptr, Py_ssize_t size) return PyLong_FromLong(val); } -#ifdef MS_WIN32 +#ifndef MS_WIN32 +/* http://msdn.microsoft.com/en-us/library/cc237864.aspx */ +#define VARIANT_FALSE 0x0000 +#define VARIANT_TRUE 0xFFFF +#endif /* short BOOL - VARIANT_BOOL */ static PyObject * vBOOL_set(void *ptr, PyObject *value, Py_ssize_t size) @@ -680,7 +684,6 @@ vBOOL_get(void *ptr, Py_ssize_t size) { return PyBool_FromLong((long)*(short int *)ptr); } -#endif static PyObject * bool_set(void *ptr, PyObject *value, Py_ssize_t size) @@ -1511,8 +1514,8 @@ static struct fielddesc formattable[] = { #endif #ifdef MS_WIN32 { 'X', BSTR_set, BSTR_get, &ffi_type_pointer}, - { 'v', vBOOL_set, vBOOL_get, &ffi_type_sshort}, #endif + { 'v', vBOOL_set, vBOOL_get, &ffi_type_sshort}, #if SIZEOF__BOOL == 1 { '?', bool_set, bool_get, &ffi_type_uchar}, /* Also fallback for no native _Bool support */ #elif SIZEOF__BOOL == SIZEOF_SHORT |