callable: Fix enum return from C functions
callable: Fix enum return from C functions

According to [1], return values smaller than sizeof(long) are returned
as ffi_arg or ffi_sarg. Thus, the code here needs to use ffi_sarg
instead of int to work correctly.

This fixes a test failure on s390x that boils down to
cairo_pattern_get_type() returning 2, but the C code here turns that
into a value of 0.

A big "thank" you to Debian and specifically to Mattia Rizzolo for
giving me access to a porterbox so that I could debug this myself.

[1]: https://linux.die.net/man/3/ffi_call

Signed-off-by: Uli Schlachter <346c0ad49ac8427b61b3b55abbe37dc0ebd524f2@znc.in>

psychon/lgi,pavouk/lgi