Hello, again,<br><br>I found one inconsistency in uffi's documentation. Uffi's doc says that dereferencing types :char and :unsigned-char return characters where actually it returns integers (at least here). Cffi's uffi-compat follows the doc and that also breaks elephant. Sending a new patch that "fix" that and also has a change necessary to def-function accept directions.<br>
<br>Please let me know whether my patches will get into cffi or if there is something I should change in them.<br><br>Now off to find more errors...<br><br>Gustavo.<br><br><div class="gmail_quote">Em 6 de agosto de 2010 11:19, Gustavo <span dir="ltr"><<a href="mailto:gugamilare@gmail.com">gugamilare@gmail.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hello,<br><br>Sorry, my definition of "tomorrow" and "day duration" is a little distorted :3<br>
<br>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 <span style="font-family: courier new,monospace;">translate-objects</span> and <span style="font-family: courier new,monospace;">expand-to-foreign-dyn</span>.<br>


<br>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 ;)<br>

<br>Gustavo.<br><br><div class="gmail_quote">Em 14 de julho de 2010 23:01, Gustavo <span dir="ltr"><<a href="mailto:gugamilare@gmail.com" target="_blank">gugamilare@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">



Hello, again,<br><br>I've added support for <span style="font-family: courier new,monospace;">:in</span><span style="font-family: courier new,monospace;"></span>, <span style="font-family: courier new,monospace;">:out</span>, <span style="font-family: courier new,monospace;">:in-out</span> and <span style="font-family: courier new,monospace;">:copy</span> 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.<div>
<div></div><div class="h5"><br>



<br>For defcfun with &rest arguments, I still need to test so I didn't include it in my patch. I'll do that tomorrow.<br><br>Changing subject, I noted that, <b>without</b> my changes, there are 4 unexpected failures with cffi in my system (and 2 expected).<br>




<br>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.<br>





<br>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.<br><br>7758614624042983568<br>7758614658402721936<br><br>The expected failures are STRING.ENCODING.UTF-16.BASIC and STRING.ENCODINGS.ALL.BASIC.<br>





<br>SBCL 1.0.40, 32-bit Ubuntu.<br><br>Now, except for those tests that were already failing, my changes didn't fail even a single one of them :)<br><font color="#888888"><br>Gustavo.<br>
</font></div></div></blockquote></div><br>
</blockquote></div><br>