[cffi-devel] More patches for ECL
Yaroslav Kavenchuk
kavenchuk at tut.by
Sun Oct 15 21:37:55 UTC 2006
> (defun %mem-ref (ptr type &optional (offset 0))
> "Dereference an object of TYPE at OFFSET bytes from PTR."
> - (let* ((type (convert-foreign-type type))
> + (let* ((type (cffi-type->ecl-type type))
> (type-size (ffi:size-of-foreign-type type)))
> (si:foreign-data-ref-elt
> (si:foreign-data-recast ptr (+ offset type-size) :void) offset type)))
>
> (defun %mem-set (value ptr type &optional (offset 0))
> "Set an object of TYPE at OFFSET bytes from PTR."
> - (let* ((type (convert-foreign-type type))
> + (let* ((type (cffi-type->ecl-type type))
> (type-size (ffi:size-of-foreign-type type)))
> (si:foreign-data-set-elt
> (si:foreign-data-recast ptr (+ offset type-size) :void)
Why in %mem-ref/%mem-set is used
(+ offset type-size)
instead of
(* offset type-size)?
Or I do not understand something?
Thanks!
--
WBR, Yaroslav Kavenchuk.
More information about the cffi-devel
mailing list