From 70d19a8a90ce8f693f9c93ece39729f0a23df420 Mon Sep 17 00:00:00 2001 From: retropikzel Date: Sun, 6 Apr 2025 06:50:16 +0300 Subject: [PATCH] Gauche fixes --- retropikzel/pffi/chibi.scm | 4 ++-- retropikzel/pffi/gauche.scm | 2 +- retropikzel/pffi/gauche/gauchelib.scm | 4 +++- retropikzel/pffi/shared/pointer.scm | 8 ++++++-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/retropikzel/pffi/chibi.scm b/retropikzel/pffi/chibi.scm index bbc201c..890bed5 100644 --- a/retropikzel/pffi/chibi.scm +++ b/retropikzel/pffi/chibi.scm @@ -46,7 +46,7 @@ (or (equal? object #f) ; False can be null pointer (pointer? object)))) -#;(define pffi-pointer-allocate +(define pffi-pointer-allocate (lambda (size) (pointer-allocate size))) @@ -54,7 +54,7 @@ (lambda (pointer) (pointer-address pointer))) -#;(define pffi-pointer-free +(define pffi-pointer-free (lambda (pointer) (pointer-free pointer))) diff --git a/retropikzel/pffi/gauche.scm b/retropikzel/pffi/gauche.scm index 052bb69..f98f627 100644 --- a/retropikzel/pffi/gauche.scm +++ b/retropikzel/pffi/gauche.scm @@ -134,7 +134,7 @@ ((equal? type 'unsigned-long) (get-ffi-type-ulong)) ((equal? type 'float) (get-ffi-type-float)) ((equal? type 'double) (get-ffi-type-double)) - ((equal? type 'void) (get-ffi-type-pointer)) + ((equal? type 'void) (get-ffi-type-void)) ((equal? type 'pointer) (get-ffi-type-pointer)) ((equal? type 'callback) (get-ffi-type-pointer))))) diff --git a/retropikzel/pffi/gauche/gauchelib.scm b/retropikzel/pffi/gauche/gauchelib.scm index 4d5c212..403864f 100644 --- a/retropikzel/pffi/gauche/gauchelib.scm +++ b/retropikzel/pffi/gauche/gauchelib.scm @@ -95,6 +95,8 @@ (define-cproc get-ffi-type-unsigned-long () get_ffi_type_unsigned_long) (define-cproc get-ffi-type-float () get_ffi_type_float) (define-cproc get-ffi-type-double () get_ffi_type_double) + (define-cproc get-ffi-type-void() get_ffi_type_void) (define-cproc get-ffi-type-pointer () get_ffi_type_pointer) - (define-cproc procedure-to-pointer (procedure) procedure_to_pointer)) + ;(define-cproc procedure-to-pointer (procedure) procedure_to_pointer) + ) diff --git a/retropikzel/pffi/shared/pointer.scm b/retropikzel/pffi/shared/pointer.scm index 398d5c9..0cf4ac6 100644 --- a/retropikzel/pffi/shared/pointer.scm +++ b/retropikzel/pffi/shared/pointer.scm @@ -9,9 +9,13 @@ "c" '((additional-versions ("0" "6")))))) -(pffi-define pffi-pointer-allocate pffi-libc-stdlib 'malloc 'pointer '(int)) +(cond-expand + (chibi #t) ; FIXME + (else (pffi-define pffi-pointer-allocate pffi-libc-stdlib 'malloc 'pointer '(int)))) ;(pffi-define pffi-pointer-allocate-aligned pffi-libc-stdlib 'aligned_alloc 'pointer '(int int)) -(pffi-define pffi-pointer-free pffi-libc-stdlib 'free 'void '(pointer)) +(cond-expand + (chibi #t) ; FIXME + (else (pffi-define pffi-pointer-free pffi-libc-stdlib 'free 'void '(pointer)))) #;(define pffi-pointer-null (lambda ()