Chibi fixes
This commit is contained in:
parent
1957a05e51
commit
62f243cecf
|
|
@ -86,6 +86,7 @@
|
|||
(cond-expand
|
||||
(chicken #t) ; FIXME
|
||||
(kawa #t) ; FIXME
|
||||
;(chibi #t)
|
||||
(else (define make-c-null
|
||||
(lambda ()
|
||||
(cond-expand (stklos (let ((pointer (make-c-bytevector 1)))
|
||||
|
|
@ -96,7 +97,7 @@
|
|||
(cond-expand
|
||||
(chicken #t) ; FIXME
|
||||
(kawa #t) ; FIXME
|
||||
(chibi (define c-null? pointer?))
|
||||
(chibi #t)
|
||||
(else (define c-null?
|
||||
(lambda (pointer)
|
||||
(if (c-bytevector? pointer)
|
||||
|
|
|
|||
|
|
@ -69,12 +69,6 @@
|
|||
(let ((c-function (dlsym shared-object c-name))
|
||||
(maybe-dlerror (dlerror)))
|
||||
(lambda arguments
|
||||
(display "NAME: ")
|
||||
(display c-name)
|
||||
(newline)
|
||||
(display "ARGS: ")
|
||||
(write arguments)
|
||||
(newline)
|
||||
(let* ((return-pointer
|
||||
(internal-ffi-call (length argument-types)
|
||||
(type->libffi-type-number return-type)
|
||||
|
|
|
|||
|
|
@ -10,6 +10,10 @@
|
|||
(c-declare "void* make_c_null() { return NULL; }")
|
||||
(define-c (maybe-null pointer void*) make-c-null ())
|
||||
|
||||
;; c-null?
|
||||
(c-declare "sexp is_null(void* pointer) { if(pointer == NULL) { return SEXP_TRUE; } else { return SEXP_FALSE; } }")
|
||||
(define-c sexp (c-null? is_null) ((maybe-null pointer void*)))
|
||||
|
||||
;; c-type-size
|
||||
(c-declare "
|
||||
int size_of_int8_t() { return sizeof(int8_t); }
|
||||
|
|
@ -109,9 +113,9 @@
|
|||
double vals18[nargs];
|
||||
void* vals20[nargs];
|
||||
|
||||
printf(\"nargs: %i\\n\", nargs);
|
||||
//printf(\"nargs: %i\\n\", nargs);
|
||||
for(int i = 0; i < nargs; i++) {
|
||||
printf(\"i: %i\\n\", i);
|
||||
//printf(\"i: %i\\n\", i);
|
||||
void* arg = NULL;
|
||||
switch(atypes[i]) {
|
||||
case 1:
|
||||
|
|
|
|||
Loading…
Reference in New Issue