5 Fév
2012
5 Fév
'12
13:51
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