| Messages (6) |
|
msg51825 - (view) |
Author: David Remahl (chmod007) |
Date: 2007-01-31 21:04 |
Adds support for the C99 _Bool type to ctypes. Requires struct patch that has already been accepted in the python 2.6 train.
Updates ctypes C extension, ctypes __init__.py, ctypes documentation and ctypes tests.
|
|
msg51826 - (view) |
Author: Martin v. Löwis (loewis) *  |
Date: 2007-01-31 22:05 |
Thomas, can you take a look?
I think this needs to take into account Python versions without bool support in the struct module, as the same ctypes code is used with older Python releases as well.
|
|
msg51827 - (view) |
Author: David Remahl (chmod007) |
Date: 2007-02-01 15:50 |
Should I prepare the patch relative to /ctypes/trunk/ctypes instead?
|
|
msg51828 - (view) |
Author: Thomas Heller (theller) *  |
Date: 2007-02-01 20:22 |
David, I encountered these issues with the patch:
1. a typo in Lib/ctypes/test/test_numbers.py:
'bool_type' should be 'bool_types'
It is trivial to fix this.
2. ctypes/__init__.py should be cean for 'from ctypes import *',
but with your patch it exposes the 'struct_error' symbol.
I would recommend to change Modules/_ctypes/cfield.c so that a
c_bool type can be created even if HAVE_C99_BOOL is undefined (I think
you took that approach in your _Bool struct patch).
Then, ctypes/__init__.py would not have to depend on the struct 't'
typecode at all. The '_check_size(c_bool, "t")' check can probably be
removed.
3. ctypes/test/test_repr.py does not work.
Easy to fix this: just add c_bool to the list of types starting
at line 5.
These changes would also ensure compatibility with previous Python
versions, with one exception: A check for the _Bool type must be added
to Modules/ctypes/libffi/configure.in.
To answer your question: No, it is not needed to prepare a patch
relative to ctypes/trunk/ctypes. This repository contains
svn:external properties for the 'source' and 'ctypes' directories that
point into the 'release25-maint/Modules/_ctypes' and
'release25-maint/Lib/ctypes' directories from Python.
|
|
msg51829 - (view) |
Author: David Remahl (chmod007) |
Date: 2007-02-02 00:35 |
Thanks for the review, Thomas! I've attached a new patch that addresses the points you bring up (I hope) in the suggested manner. I have not tested it on 2.5, but tests pass on 2.6.
File Added: c_bool patch against r53623.diff
|
|
msg51830 - (view) |
Author: Thomas Heller (theller) *  |
Date: 2007-03-13 20:45 |
Committed as revision 54357. Thanks for the patch.
|