From: Mark Wooding Date: Wed, 16 Dec 2015 07:20:53 +0000 (+0000) Subject: src/c-types-impl.lisp (arguments-lists-equal-p): Fix stupid bug. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/sod/commitdiff_plain/b4aab8d4d82563222e22d59e7ba46e3dd5d82332 src/c-types-impl.lisp (arguments-lists-equal-p): Fix stupid bug. If some ARG-B is `:ellipsis', but the corresponding ARG-A is a proper argument object, then we'd have a type error applying `argument-type' to ARG-B. Make sure this doesn't happen. --- diff --git a/src/c-types-impl.lisp b/src/c-types-impl.lisp index 122744f..cea3057 100644 --- a/src/c-types-impl.lisp +++ b/src/c-types-impl.lisp @@ -424,8 +424,9 @@ (defun argument-lists-equal-p (list-a list-b) (every (lambda (arg-a arg-b) (if (eq arg-a :ellipsis) (eq arg-b :ellipsis) - (c-type-equal-p (argument-type arg-a) - (argument-type arg-b)))) + (and (argumentp arg-a) (argumentp arg-b) + (c-type-equal-p (argument-type arg-a) + (argument-type arg-b))))) list-a list-b))) ;; Class definition.