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 inexact)
(scheme process-context)
(except (sagittarius ffi) c-free c-malloc)
(except (sagittarius ffi) c-free c-malloc define-c-struct)
(sagittarius)))
#;(skint
(import (scheme base)

View File

@ -76,8 +76,6 @@
(define c-utf8->string
(lambda (c-bytevector)
(display c-bytevector)
(newline)
(when (c-null? c-bytevector)
(error "Can not turn null pointer into string" 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-ref pointer-ref-c-uint8)
(define c-bytevector-pointer-set! pointer-set-c-pointer!)
(define c-bytevector-pointer-ref pointer-ref-c-pointer)
(define c-bytevector-pointer-set!
(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
(lambda (type)

View File

@ -110,6 +110,13 @@
(lambda (pointer offset value)
(cpointer-set-abs! pointer :pointer value offset)))
(define c-bytevector-pointer-ref
#;(define c-bytevector-pointer-ref
(lambda (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)))))