[Ecls-list] :[u]int32-t

Matthew Mondor mm_lists at pulsar-zone.net
Wed Feb 3 01:37:57 UTC 2010


On Tue, 2 Feb 2010 19:44:29 -0500
Matthew Mondor <mm_lists at pulsar-zone.net> wrote:

> After dinner I did a few tests and came up with this diff (attached)
> which seems to work properly for me now.  So despite some of those
> types not being available to traditional UFFI (this is ECL FFI/UFFI
> specific), it solves the problems I had.

After testing it seems that some oddities exist, such as GET-SLOT-VALUE returning numbers which are sometimes abnormally large for the type of the element.  For instance:

> *s*
#<foreign (:STRUCT (FLAGS :UINT32-T) (FORMAT :POINTER-VOID) (W :INT) (H :INT) (PITCH :UINT16-T) (PIXELS :POINTER-VOID) (CLIP-RECT (:STRUCT (X :INT16-T) (Y :INT16-T) (W :UINT16-T) (H :UINT16-T))) (REFCOUNT :INT)) bb710380>
> (get-slot-value *s* 'sdl-surface 'pitch)
2678260672
> (get-slot-value *s* 'sdl-surface 'flags)
13506952859157004288

However, other fields seem to work fine such as W and H ,as well as the
X Y W H of CLIP-RECT.  Perhaps I introduced a bug in the patch I made,
I'll have to revisit it tomorrow.
-- 
Matt




More information about the ecl-devel mailing list