summaryrefslogtreecommitdiff
path: root/Lisp/method-definition.lisp
diff options
context:
space:
mode:
authorMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 15:02:43 +0100
committerMatthias Benkard <code@mail.matthias.benkard.de>2008-03-04 15:02:43 +0100
commit0880bd6ab8539d43cde12ca556ea46b2ee0f0518 (patch)
tree48838e9a58216ef020ae676518e95bc2f2762566 /Lisp/method-definition.lisp
parent8bda6a9a7a3d48613383cf5f3cfb06f27cdbfd10 (diff)
Fix objcl_create_imp.
darcs-hash:259fe285f4dde3cb5d6a964593524f7e9619faf4
Diffstat (limited to 'Lisp/method-definition.lisp')
-rw-r--r--Lisp/method-definition.lisp5
1 files changed, 3 insertions, 2 deletions
diff --git a/Lisp/method-definition.lisp b/Lisp/method-definition.lisp
index 1ed0b9c..187da3c 100644
--- a/Lisp/method-definition.lisp
+++ b/Lisp/method-definition.lisp
@@ -123,10 +123,11 @@
,cffi-lambda-list
(,(generic-function-name gf) ,@arguments)))))
(let ((callback (get-callback callback-name)))
- (with-foreign-object (arg-typestring-buffer :string (length arg-typestrings))
+ (with-foreign-object (arg-typestring-buffer :string
+ (- (length arg-typestrings) 2))
(with-foreign-string-pool (register-temp allocate-temp)
(loop for i from 0
- for typestring in arg-typestrings
+ for typestring in (cddr arg-typestrings)
do (setf (mem-aref arg-typestring-buffer :string i)
(allocate-temp typestring)))
(%objcl-add-method (pointer-to class)