In the file cffi-ecl.lisp of I find the equivalence table
(:char :byte "char") (:unsigned-char :unsigned-byte "unsigned char")
that associates, for the ECL port, a byte with the CFFI :char type. Is this intended per-specification? Why not using ECL's :char type, which might be more than one byte if the compiler and operating system expect so?
Juanjo
On Sun, Apr 25, 2010 at 2:57 PM, Juan Jose Garcia-Ripoll juanjose.garciaripoll@googlemail.com wrote:
that associates, for the ECL port, a byte with the CFFI :char type. Is this intended per-specification? Why not using ECL's :char type, which might be more than one byte if the compiler and operating system expect so?
My guess is that we're using :byte instead of :char because ECL's :char converts C chars to Lisp characters, which is not what CFFI's :char is supposed to do. In any case, the C spec states that sizeof(char) == 1, does it not?