Am 05/12/2008 08:15 PM schrieb Robert Bradshaw: > I just tried > > ctypedef struct plugData: > # plugDefinition *plug > char *ident > void *data > > cdef plugData *data = <plugData*>malloc(sizeof(plugData)) > data.ident = "foo" > > and it works fine for me. Perhaps you're redefining plugData somewhere > else in your header files?
Hm, I don't see a problem. Here's a complete test code that won't compile:
include "stdlib.pxi"
include "plugin.pxi"
cdef plugData *foo():
cdef plugData *data = <plugData*>malloc(sizeof(plugData))
data.ident = "foo"
plugin.pxi:
-----------
include "grab.pxi"
cdef extern from "main/plugin.h":
cdef struct plugData:
pass
ctypedef struct plugDefinition:
char *name
int abi_version
void (*init) (plugDefinition *plug, grabParameter *para, int
argc,
char **argv) except *
int (*init_options) (plugDefinition *plug) except *
void (*cleanup) (plugDefinition *plug) except *
bint (*process) (plugDefinition *plug, char *id, plugData
*data) except *
void *reserved1
void *reserved2
void *reserved3
ctypedef plugDefinition* (*plugGetInfoFunc) (int, bint*)
cdef extern from "main/plugin_comm.h":
ctypedef void (*plugDataDestroyFunc) (void *data)
ctypedef void (*plugFunc) ()
ctypedef struct plugData:
plugDefinition *plug
char *ident
void *data
ctypedef struct plugDataFunc:
pass
ctypedef enum:
PLUG_PRIORITY_DEFAULT
PLUG_PRIORITY_MIN
PLUG_PRIORITY_MAX
Anythin wrong with this?
Thanks
Johannes
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
