Sagittarius fixes

This commit is contained in:
retropikzel 2025-08-27 20:30:26 +03:00
parent 4ec20bfda6
commit 5d710ffeab
4 changed files with 15 additions and 6 deletions

View File

@ -120,7 +120,7 @@
(scheme file) (scheme file)
(scheme inexact) (scheme inexact)
(scheme process-context) (scheme process-context)
(except (sagittarius ffi) c-free c-malloc) (except (sagittarius ffi) c-free c-malloc define-c-struct)
(sagittarius))) (sagittarius)))
#;(skint #;(skint
(import (scheme base) (import (scheme base)

View File

@ -76,8 +76,6 @@
(define c-utf8->string (define c-utf8->string
(lambda (c-bytevector) (lambda (c-bytevector)
(display c-bytevector)
(newline)
(when (c-null? c-bytevector) (when (c-null? c-bytevector)
(error "Can not turn null pointer into string" c-bytevector)) (error "Can not turn null pointer into string" c-bytevector))
(let ((size (c-strlen c-bytevector))) (let ((size (c-strlen c-bytevector)))

View File

@ -58,8 +58,12 @@
(define c-bytevector-u8-set! pointer-set-c-uint8!) (define c-bytevector-u8-set! pointer-set-c-uint8!)
(define c-bytevector-u8-ref pointer-ref-c-uint8) (define c-bytevector-u8-ref pointer-ref-c-uint8)
(define c-bytevector-pointer-set! pointer-set-c-pointer!) (define c-bytevector-pointer-set!
(define c-bytevector-pointer-ref pointer-ref-c-pointer) (lambda (pointer offset value)
(pointer-set-c-pointer! pointer offset value)))
(define c-bytevector-pointer-ref
(lambda (pointer offset)
(pointer-ref-c-pointer pointer offset)))
(define type->native-type (define type->native-type
(lambda (type) (lambda (type)

View File

@ -110,6 +110,13 @@
(lambda (pointer offset value) (lambda (pointer offset value)
(cpointer-set-abs! pointer :pointer value offset))) (cpointer-set-abs! pointer :pointer value offset)))
(define c-bytevector-pointer-ref #;(define c-bytevector-pointer-ref
(lambda (pointer offset) (lambda (pointer offset)
(cpointer-ref-abs pointer :pointer offset))) (cpointer-ref-abs pointer :pointer offset)))
(define c-bytevector-pointer-ref
(lambda (c-bytevector k)
(address->c-bytevector (c-bytevector-uint-ref c-bytevector
0
(native-endianness)
(c-type-size 'pointer)))))