From d94cbd9baacf6ff79221da9b5f8c4775b051f223 Mon Sep 17 00:00:00 2001 From: retropikzel Date: Sat, 18 May 2024 15:39:16 +0300 Subject: [PATCH] Remove pointer->bytevector and bytevector->pointer stuff --- retropikzel/pffi/v0-1-0/chicken.scm | 11 +++-------- retropikzel/pffi/v0-1-0/cyclone.sld | 5 ----- retropikzel/pffi/v0-1-0/empty.scm | 5 ----- retropikzel/pffi/v0-1-0/gambit.scm | 6 ------ retropikzel/pffi/v0-1-0/gerbil.scm | 5 ----- retropikzel/pffi/v0-1-0/guile.scm | 11 ----------- retropikzel/pffi/v0-1-0/kawa.scm | 7 ------- retropikzel/pffi/v0-1-0/main.sld | 1 - retropikzel/pffi/v0-1-0/racket.rkt | 5 ----- retropikzel/pffi/v0-1-0/sagittarius.scm | 5 ----- retropikzel/pffi/v0-1-0/stklos.scm | 6 ------ test/39_pointer-allocate.scm | 14 -------------- test/402_null-pointer.scm | 14 ++++++++++++++ 13 files changed, 17 insertions(+), 78 deletions(-) delete mode 100644 test/39_pointer-allocate.scm create mode 100644 test/402_null-pointer.scm diff --git a/retropikzel/pffi/v0-1-0/chicken.scm b/retropikzel/pffi/v0-1-0/chicken.scm index 9e59917..8173e6e 100644 --- a/retropikzel/pffi/v0-1-0/chicken.scm +++ b/retropikzel/pffi/v0-1-0/chicken.scm @@ -14,7 +14,6 @@ pffi-pointer-null pffi-string->pointer pffi-pointer->string - pffi-pointer->bytevector pffi-pointer-free pffi-pointer? pffi-pointer-null? @@ -124,7 +123,7 @@ (define pffi-pointer-null (lambda () - (error "Not defined"))) + (address->pointer 0))) (define pffi-string->pointer (lambda (string-content) @@ -144,10 +143,6 @@ (move-memory! pointer string-content size 0) string-content)))) - (define pffi-pointer->bytevector - (lambda (pointer size) - (error "Not defined"))) - (define-syntax pffi-shared-object-load (er-macro-transformer (lambda (expr rename compare) @@ -164,7 +159,7 @@ (define pffi-pointer-null? (lambda (pointer) - (error "Not defined"))) + (= (pointer->address pointer) 0))) (define pffi-pointer-set! (lambda (pointer type offset value) @@ -212,4 +207,4 @@ (define pffi-pointer-deref (lambda (pointer) - (error "Not defined"))))) + pointer)))) diff --git a/retropikzel/pffi/v0-1-0/cyclone.sld b/retropikzel/pffi/v0-1-0/cyclone.sld index dc19806..048570f 100644 --- a/retropikzel/pffi/v0-1-0/cyclone.sld +++ b/retropikzel/pffi/v0-1-0/cyclone.sld @@ -15,7 +15,6 @@ pffi-pointer-null pffi-string->pointer pffi-pointer->string - pffi-pointer->bytevector pffi-pointer-free pffi-pointer? pffi-pointer-null? @@ -115,10 +114,6 @@ (lambda (pointer) pointer)) - (define pffi-pointer->bytevector - (lambda (pointer size) - (error "Not defined"))) - (define-syntax pffi-shared-object-load (er-macro-transformer (lambda (expr rename compare) diff --git a/retropikzel/pffi/v0-1-0/empty.scm b/retropikzel/pffi/v0-1-0/empty.scm index bbb6655..e9fdd51 100644 --- a/retropikzel/pffi/v0-1-0/empty.scm +++ b/retropikzel/pffi/v0-1-0/empty.scm @@ -11,7 +11,6 @@ pffi-pointer-null pffi-string->pointer pffi-pointer->string - pffi-pointer->bytevector pffi-pointer-free pffi-pointer? pffi-pointer-null? @@ -54,10 +53,6 @@ (lambda (pointer) pointer)) - (define pffi-pointer->bytevector - (lambda (pointer size) - (error "Not defined"))) - (define pffi-shared-object-load (lambda (header path) (error "Not defined"))) diff --git a/retropikzel/pffi/v0-1-0/gambit.scm b/retropikzel/pffi/v0-1-0/gambit.scm index ea54ae1..3af6125 100644 --- a/retropikzel/pffi/v0-1-0/gambit.scm +++ b/retropikzel/pffi/v0-1-0/gambit.scm @@ -11,7 +11,6 @@ pffi-pointer-null pffi-string->pointer pffi-pointer->string - pffi-pointer->bytevector pffi-pointer-free pffi-pointer? pffi-pointer-null? @@ -52,11 +51,6 @@ (lambda (pointer) pointer)) - (define pffi-pointer->bytevector - (lambda (pointer size) - (error "Not defined"))) - - (define pffi-shared-object-load (lambda (headers) (error "Not defined"))) diff --git a/retropikzel/pffi/v0-1-0/gerbil.scm b/retropikzel/pffi/v0-1-0/gerbil.scm index f0f3ee1..f710e42 100644 --- a/retropikzel/pffi/v0-1-0/gerbil.scm +++ b/retropikzel/pffi/v0-1-0/gerbil.scm @@ -11,7 +11,6 @@ pffi-pointer-null pffi-string->pointer pffi-pointer->string - pffi-pointer->bytevector pffi-pointer-free pffi-pointer? pffi-pointer-null? @@ -54,10 +53,6 @@ (lambda (pointer) pointer)) - (define pffi-pointer->bytevector - (lambda (pointer size) - (error "Not defined"))) - (define pffi-shared-object-load (lambda (header path) (error "Not defined"))) diff --git a/retropikzel/pffi/v0-1-0/guile.scm b/retropikzel/pffi/v0-1-0/guile.scm index abf9175..36231b3 100644 --- a/retropikzel/pffi/v0-1-0/guile.scm +++ b/retropikzel/pffi/v0-1-0/guile.scm @@ -14,7 +14,6 @@ pffi-pointer-null pffi-string->pointer pffi-pointer->string - pffi-pointer->bytevector pffi-pointer-free pffi-pointer? pffi-pointer-null? @@ -83,16 +82,10 @@ (lambda (pointer) (pointer->string pointer))) - (define pffi-pointer->bytevector - (lambda (pointer size) - (pointer->bytevector pointer size))) - (define pffi-shared-object-load (lambda (header path) (load-foreign-library path))) - - (define pffi-pointer-free (lambda (pointer) #t)) @@ -113,8 +106,6 @@ ((equal? native-type uint32) (bytevector-u32-set! p offset value (native-endianness))) ((equal? native-type int64) (bytevector-s64-set! p offset value (native-endianness))) ((equal? native-type uint64) (bytevector-u64-set! p offset value (native-endianness))) - ;((equal? native-type 'intptr_t) (pointer-ref-c-intptr_t p offset)) - ;((equal? native-type 'uintptr_t) (pointer-ref-c-uintptr_t p offset)) ;((equal? native-type char) (string-set! (pointer->string pointer) offset value)) ;((equal? native-type 'short) (pointer-set-c-short p offset value)) ;((equal? native-type 'unsigned-short) (pointer-ref-c-unsigned-short p offset)) @@ -139,8 +130,6 @@ ((equal? native-type uint32) (bytevector-u32-ref p offset (native-endianness))) ((equal? native-type int64) (bytevector-s64-ref p offset (native-endianness))) ((equal? native-type uint64) (bytevector-u64-ref p offset (native-endianness))) - ;((equal? native-type 'intptr_t) (pointer-ref-c-intptr_t p offset)) - ;((equal? native-type 'uintptr_t) (pointer-ref-c-uintptr_t p offset)) ;((equal? native-type char) (string-ref (pointer->string pointer) offset)) ;((equal? native-type 'short) (pointer-set-c-short p offset value)) ;((equal? native-type 'unsigned-short) (pointer-ref-c-unsigned-short p offset)) diff --git a/retropikzel/pffi/v0-1-0/kawa.scm b/retropikzel/pffi/v0-1-0/kawa.scm index c50f692..99a1f0c 100644 --- a/retropikzel/pffi/v0-1-0/kawa.scm +++ b/retropikzel/pffi/v0-1-0/kawa.scm @@ -116,13 +116,6 @@ (lambda (pointer) (invoke (invoke pointer 'reinterpret (static-field java.lang.Integer 'MAX_VALUE)) 'getUtf8String 0))) -(define pffi-pointer->bytevector - (lambda (pointer size) - (invoke (invoke pointer 'reinterpret size) - 'toArray - (static-field java.lang.foreign.ValueLayout - 'JAVA_BYTE)))) - (define pffi-shared-object-load (lambda (header path) (let* ((library-file (make java.io.File path)) diff --git a/retropikzel/pffi/v0-1-0/main.sld b/retropikzel/pffi/v0-1-0/main.sld index bf45eef..2be1b6d 100644 --- a/retropikzel/pffi/v0-1-0/main.sld +++ b/retropikzel/pffi/v0-1-0/main.sld @@ -73,7 +73,6 @@ pffi-pointer-null pffi-string->pointer pffi-pointer->string - pffi-pointer->bytevector pffi-pointer-free pffi-pointer? pffi-pointer-null? diff --git a/retropikzel/pffi/v0-1-0/racket.rkt b/retropikzel/pffi/v0-1-0/racket.rkt index 126f629..18012db 100644 --- a/retropikzel/pffi/v0-1-0/racket.rkt +++ b/retropikzel/pffi/v0-1-0/racket.rkt @@ -16,7 +16,6 @@ pffi-pointer-null pffi-string->pointer pffi-pointer->string - pffi-pointer->bytevector pffi-pointer-free pffi-pointer? pffi-pointer-null? @@ -84,10 +83,6 @@ (lambda (pointer) (cast pointer _pointer _string))) - (define pffi-pointer->bytevector - (lambda (pointer size) - (cast pointer _pointer _bytes))) - (define pffi-shared-object-load (lambda (header path) (ffi-lib path))) diff --git a/retropikzel/pffi/v0-1-0/sagittarius.scm b/retropikzel/pffi/v0-1-0/sagittarius.scm index f4c8e82..684ca29 100644 --- a/retropikzel/pffi/v0-1-0/sagittarius.scm +++ b/retropikzel/pffi/v0-1-0/sagittarius.scm @@ -13,7 +13,6 @@ pffi-pointer-null pffi-string->pointer pffi-pointer->string - pffi-pointer->bytevector pffi-pointer-free pffi-pointer? pffi-pointer-null? @@ -98,10 +97,6 @@ (lambda (pointer) (pointer->string pointer))) - (define pffi-pointer->bytevector - (lambda (pointer size) - (pointer->bytevector pointer size))) - (define pffi-shared-object-load (lambda (header path) (open-shared-library path))) diff --git a/retropikzel/pffi/v0-1-0/stklos.scm b/retropikzel/pffi/v0-1-0/stklos.scm index e335577..cf1675b 100644 --- a/retropikzel/pffi/v0-1-0/stklos.scm +++ b/retropikzel/pffi/v0-1-0/stklos.scm @@ -6,7 +6,6 @@ (scheme process-context) (stklos)) (export pffi-define - pffi-pointer->bytevector pffi-pointer->string pffi-pointer-allocate pffi-pointer-deref @@ -82,11 +81,6 @@ (lambda (pointer) pointer)) - (define pffi-pointer->bytevector - (lambda (pointer size) - (bytevector) ; TODO FIX - )) - (define pffi-shared-object-load (lambda (header path) path )) diff --git a/test/39_pointer-allocate.scm b/test/39_pointer-allocate.scm deleted file mode 100644 index 9f6669c..0000000 --- a/test/39_pointer-allocate.scm +++ /dev/null @@ -1,14 +0,0 @@ -(import (scheme base) - (scheme write) - (retropikzel pffi v0-1-0 main)) - -(define p (pffi-pointer-allocate (+ (* (pffi-size-of 'uint32) 3) - (* (pffi-size-of 'uint8) 4) - (pffi-size-of 'int)))) - -(write p) -(newline) - -(pffi-pointer-free p) - - diff --git a/test/402_null-pointer.scm b/test/402_null-pointer.scm new file mode 100644 index 0000000..7f969a6 --- /dev/null +++ b/test/402_null-pointer.scm @@ -0,0 +1,14 @@ +(import (scheme base) + (scheme write) + (retropikzel pffi v0-1-0 main)) + +(define p (pffi-pointer-allocate (+ (* (pffi-size-of 'uint32) 3) + (* (pffi-size-of 'uint8) 4) + (pffi-size-of 'int)))) +(define n (pffi-pointer-null)) + +(if (not (pffi-pointer-null? n)) (error "pffi-pointer-null? returned false when given null pointer")) +(if (pffi-pointer-null? p) (error "pffi-pointer-null? returned true when given not a null pointer")) +(if (pffi-pointer-null? "Hello") (error "pffi-pointer-null? returned true when given not a pointer")) + +