[gambit-list] is this a bug in ffi?

Álvaro Castro-Castilla alvaro.castro.castilla at gmail.com
Sun Feb 5 13:51:03 EST 2012


Hi!

I open a new thread, because this is a deeper issue than the C++ enums
conversion problem.

When I declare this:

(define CAIRO_FORMAT_RGB24 ((c-lambda () cairo-format-t "___result =
CAIRO_FORMAT_RGB24;")))

or:
(define CAIRO_FORMAT_RGB24 (c-lambda () cairo-format-t "___result =
CAIRO_FORMAT_RGB24;"))
and then call
(CAIRO_FORMAT_RGB24)

my program segfaults. It seems that just executing that c-lambda, returning
an enum, fails. The enum is defined as:  (c-define-type cairo-format-t
"cairo_format_t")

I don't understand why this segfaults: 1) I'm declaring the type 2) I'm
returning the proper type. What's the problem?


Best regards,

Álvaro
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.iro.umontreal.ca/pipermail/gambit-list/attachments/20120205/6501d090/attachment.htm>


More information about the Gambit-list mailing list