summaryrefslogtreecommitdiff
path: root/Lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp')
-rw-r--r--Lisp/libobjcl.lisp6
-rw-r--r--Lisp/method-definition.lisp5
2 files changed, 6 insertions, 5 deletions
diff --git a/Lisp/libobjcl.lisp b/Lisp/libobjcl.lisp
index 394672e..797ee1e 100644
--- a/Lisp/libobjcl.lisp
+++ b/Lisp/libobjcl.lisp
@@ -45,9 +45,9 @@
(defcfun ("objcl_invoke_with_types" %objcl-invoke-with-types) :pointer
(argc :int)
(superclass-for-send-super :pointer)
- (return_typespec :string)
- (arg_typespecs (:array :string))
- (return_value (:pointer :void))
+ (return-typespec :string)
+ (arg-typespecs (:array :string))
+ (return-value (:pointer :void))
(argv (:array (:pointer :void))))
(defcfun ("objcl_find_class" %objcl-find-class) :pointer
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)