diff --git a/foreign/c/primitives/gauche.scm b/foreign/c/primitives/gauche.scm index 09d5c39..63d9b26 100644 --- a/foreign/c/primitives/gauche.scm +++ b/foreign/c/primitives/gauche.scm @@ -201,14 +201,14 @@ c-function (size-of-type return-type) arguments))) - (display "HERE: ") + (display "Calling C function: ") + (write c-name) + (newline) + (display "HERE SCM:") (write return-pointer) (newline) - (display "HERE2: ") - (write (pointer-get return-pointer return-type 0)) - (newline) - (when (not (equal? return-type 'void)) - (pointer-get return-pointer return-type 0))))))) + (cond ((not (equal? return-type 'void)) + (pointer-get return-pointer return-type 0)))))))) (define-syntax define-c-procedure (syntax-rules () diff --git a/tests/primitives.scm b/tests/primitives.scm index e24511d..ec97a55 100644 --- a/tests/primitives.scm +++ b/tests/primitives.scm @@ -284,7 +284,11 @@ (for-each (lambda (str) (debug str) - (assert equal? (string=? (c-utf8->string (string->c-utf8 str)) str) #t)) + (let ((utf-eight (string->c-utf8 str))) + (debug utf-eight) + (let ((str1 (c-utf8->string utf-eight))) + (debug str1) + (assert equal? (string=? str1 str) #t)))) (list "100" "Hello world" "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"))