Roman Yakovenko <[email protected]> writes:
> On Sat, Dec 26, 2009 at 10:57 AM, Roman Yakovenko
> <[email protected]> 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
Hi,
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
) )),
[...]
Best,
-Nikolaus
--
»Time flies like an arrow, fruit flies like a Banana.«
PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6 02CF A9AD B7F8 AE4E 425C
/* Necessary to prevent gccxml from complaining about
* an undefined type */
#define __builtin_va_arg_pack_len int
/* FUSE */
#define FUSE_USE_VERSION 26
#include <fuse_lowlevel.h>
#include <attr/xattr.h>
#include <errno.h>
/* Make #define's visible to GCCXML */
const int D_FUSE_SET_ATTR_MODE = FUSE_SET_ATTR_MODE;
const int D_FUSE_SET_ATTR_UID = FUSE_SET_ATTR_UID;
const int D_FUSE_SET_ATTR_GID = FUSE_SET_ATTR_GID;
const int D_FUSE_SET_ATTR_SIZE = FUSE_SET_ATTR_SIZE;
const int D_FUSE_SET_ATTR_ATIME = FUSE_SET_ATTR_ATIME;
const int D_FUSE_SET_ATTR_MTIME = FUSE_SET_ATTR_MTIME;
const int D_XATTR_CREATE = XATTR_CREATE;
const int D_XATTR_REPLACE = XATTR_REPLACE;
const int D_ENOATTR = ENOATTR;
const int D_ENOTSUP = ENOTSUP;
_______________________________________________
Cplusplus-sig mailing list
[email protected]
http://mail.python.org/mailman/listinfo/cplusplus-sig