diff --git a/code/c-call.lisp b/code/c-call.lisp index 18d86aa15f4e45f60359e3fa1573891ed0a8b04a..9e7143a227bd7ad36d3aea193fa4b6b8cc38e90f 100644 --- a/code/c-call.lisp +++ b/code/c-call.lisp @@ -313,7 +313,7 @@ (make-alien ',name ,(c-type-size res))) (defoperator (,(symbolicate "INDIRECT-" pname) ,(record-type-description res)) - ((pointer ,pname)) + ((pointer ,(c-type-description pres))) `(alien-indirect (alien-value ,pointer) ,,pos)) ,@(define-record-operators res)))) @@ -387,7 +387,7 @@ (setf (gethash ',name *c-type-names*) ',res)) (defoperator (,(symbolicate "INDIRECT-" name) ,(c-type-description type)) - ((pointer ,name) + ((pointer ,(c-type-description res)) ,@(unless (c-type-size type) '(size))) `(alien-indirect (alien-value ,pointer)