![](https://secure.gravatar.com/avatar/326b108ffcc42f27628703b0c11ed239.jpg?s=120&d=mm&r=g)
On 13/set/2005, at 04:29, Rayiner Hashem wrote:
A while ago, somebody pointed out that structures with array members don't compile properly on Verrazano. In looking at the issue, I realized that arrays are something of a special case in C-FFI, as they are morally type-specifiers in defcstruct declarations, but do not have underlying types. Therefore, I propose a new C-FFI declaration:
(defcarray <foreign-type-name> <base-type> <length>)
I have implemented something like this in uffi-compat. I think it'd be much cleaner to simply have an array type: (:array type &rest dims) Then you could do (defctype my-int-array (:array :int 5 12)) or something like that.
An explicit nil for the <length> argument would be equivalent to: (define-foreign-type int-array () ':pointer)
Hmm, is this really necessary? Anyway, this is certainly doable, and pretty easy too. Most of what's necessary to do this is already in uffi-compat. I'll look into this when refactoring the type system. I really need to resort my TODO list, *sigh* :-) -- Luís Oliveira http://student.dei.uc.pt/~lmoliv/ Equipa Portuguesa do Translation Project http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?team=pt