From ded10bc0f1c649a5cae4600fcda55b9ffff5ca6d Mon Sep 17 00:00:00 2001 From: retropikzel Date: Sat, 12 Apr 2025 11:18:56 +0300 Subject: [PATCH] Fix bug on chicken when pffi-define argument types is empty list --- retropikzel/pffi/chicken5.scm | 5 ++++- retropikzel/pffi/shared/struct.scm | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/retropikzel/pffi/chicken5.scm b/retropikzel/pffi/chicken5.scm index 082d349..6d798f3 100644 --- a/retropikzel/pffi/chicken5.scm +++ b/retropikzel/pffi/chicken5.scm @@ -60,7 +60,10 @@ (scheme-name (list-ref expr 1)) (c-name (symbol->string (cadr (list-ref expr 3)))) (return-type (pffi-type->native-type (cadr (list-ref expr 4)))) - (argument-types (map pffi-type->native-type (cadr (list-ref expr 5))))) + (argument-types (if (null? (cdr (list-ref expr 5))) + (list) + (map pffi-type->native-type + (cadr (list-ref expr 5)))))) (if (null? argument-types) `(define ,scheme-name (foreign-safe-lambda ,return-type ,c-name)) diff --git a/retropikzel/pffi/shared/struct.scm b/retropikzel/pffi/shared/struct.scm index f21a1ab..22a433f 100644 --- a/retropikzel/pffi/shared/struct.scm +++ b/retropikzel/pffi/shared/struct.scm @@ -1,5 +1,3 @@ -(pffi-define-library pffi-libc-stdlib '("ffi.h") "ffi" '()) - (define-record-type (struct-make c-type size pointer members) pffi-struct?