<div>Hi!</div><div><br></div><div>I open a new thread, because this is a deeper issue than the C++ enums conversion problem.</div><div><br></div><div>When I declare this:</div><div><br></div>(define CAIRO_FORMAT_RGB24 ((c-lambda () cairo-format-t "___result = CAIRO_FORMAT_RGB24;")))<div>

<br></div><div>or:</div><div>(define CAIRO_FORMAT_RGB24 (c-lambda () cairo-format-t "___result = CAIRO_FORMAT_RGB24;"))</div><div>and then call</div><div>(CAIRO_FORMAT_RGB24)</div><div><br></div><div>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")</div>

<div><br></div><div>I don't understand why this segfaults: 1) I'm declaring the type 2) I'm returning the proper type. What's the problem?</div><div><br></div><div><br></div><div>Best regards,</div><div><br>

</div><div>Álvaro</div>