[cffi-devel] uffi compatible library

Gustavo gugamilare at gmail.com
Fri Aug 6 14:19:59 UTC 2010


Hello,

Sorry, my definition of "tomorrow" and "day duration" is a little distorted
:3

My previous patch was kind of messy, so I decided to restart everything from
the concept. Instead of the argument directions to be handled by the macro
expansion and (complicated) auxiliary functions, it is now handled (mainly)
by translate-objects and expand-to-foreign-dyn.

Also, tests for varargs functions are a bit hackish because I don't know how
to create a C function with variadic argument. I don't know if it will work
on all systems. Anyway, the tests are there, just test them and see if they
work ;)

Gustavo.

Em 14 de julho de 2010 23:01, Gustavo <gugamilare at gmail.com> escreveu:

> Hello, again,
>
> I've added support for :in, :out, :in-out and :copy direction arguments
> except for defcfun with &rest args. The patch is attached, it includes some
> tests. Anyone may feel free to add more tests if it is convenient.
>
> For defcfun with &rest arguments, I still need to test so I didn't include
> it in my patch. I'll do that tomorrow.
>
> Changing subject, I noted that, *without* my changes, there are 4
> unexpected failures with cffi in my system (and 2 expected).
>
> The tests FUNCALL.VARARGS.DOUBLE, DEFCFUN.VARARGS.FLOAT,
> DEFCFUN.VARARGS.DOUBLE fail because of localization issues. Here in Brazil,
> we write "3,14" instead of "3.14" and sprintf takes that into account. Not a
> big problem, though, just notifying.
>
> The test DEFCFUN.BFF.2 fails, I suspect it is because of the precision of
> doubles. The function returns the first, the second is expected.
>
> 7758614624042983568
> 7758614658402721936
>
> The expected failures are STRING.ENCODING.UTF-16.BASIC and
> STRING.ENCODINGS.ALL.BASIC.
>
> SBCL 1.0.40, 32-bit Ubuntu.
>
> Now, except for those tests that were already failing, my changes didn't
> fail even a single one of them :)
>
> Gustavo.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20100806/4cc32d9a/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: argument-directions.patch
Type: application/octet-stream
Size: 20438 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20100806/4cc32d9a/attachment.obj>


More information about the cffi-devel mailing list