[C++-sig] [Py++] ctypes generator ignores bit fields

Nikolaus Rath Nikolaus at rath.org
Sun Dec 27 01:46:05 CET 2009

Roman Yakovenko <roman.yakovenko at gmail.com> writes:
> On Sat, Dec 26, 2009 at 10:57 AM, Roman Yakovenko
> <roman.yakovenko at gmail.com> wrote:
>> Thanks. I will try to fix the problems you reported this evening and
>> will let you know.
> Nikolaus, I fixed both issues you reported:
> * http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1784&view=rev
> * http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1785&view=rev


Thanks for looking into this. I'm afraid the fix for the CFUNCTYPE vs
POINTER(CFUNCTYPE) issue is not completely working though.

The small testcase that I send around indeed generates correct code with the
new version. However, if you try the same code on a more complex header
(like the attached one, needs fuse headers to be installed) it still
produces the wrong result:

fuse_lowlevel_ops._fields_ = [ #class fuse_lowlevel_ops
    ("init", ctypes.POINTER( ctypes.CFUNCTYPE( None, ctypes.c_void_p, ctypes.POINTER( fuse_conn_info ) ) )),
    ("destroy", ctypes.POINTER( ctypes.CFUNCTYPE( None, ctypes.c_void_p
    ) )),



 »Time flies like an arrow, fruit flies like a Banana.«

  PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6  02CF A9AD B7F8 AE4E 425C
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fuse_ctypes.h
Type: text/x-chdr
Size: 731 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20091226/e7de6bbf/attachment.h>

More information about the Cplusplus-sig mailing list