>
> 
> Hello,
> 
> From the CFFI manual, Section 4.9, I understand that 
> 
> >> "Implementor’s note: size_t is almost always an unsigned int.”
> 
> However, this seems to fail on a 64 bit Linux computers, where the C ints are 
> 32 bit
> 
> I’ve had better success with 
> 
> (cffi:defctype size_t #.(cond ((= 4 (cffi:foreign-type-size :pointer))
>  :uint32)
>  ((= 8 (cffi:foreign-type-size :pointer))
>  :uint64)
>  (t (error "Failed type lisp-pointer-type"))))
> 
> 
> Is this general enough to be trusted everywhere? If so, should it be part of 
> CFFI, or at least 
> mentioned in the manual? The current text in the manual doesn’t seem to be 
> working for me, and this
> is a frequent issue when I port a new foreign library and forget what I did 
> in the past … first thing I do 
> is (apropos “size-t” :cffi) and (apropos “size_t” :cffi) and nothing shows up.

That is a mistake, size_t is the same size as the pointer so your manual 
definition is correct.

--
Stelian Ionescu

Reply via email to