Fix to working pointer->string implementation on Chicken

This commit is contained in:
retropikzel 2024-11-16 10:26:27 +02:00
parent bbd51e93e1
commit 51357777d9
1 changed files with 3 additions and 3 deletions

View File

@ -162,16 +162,16 @@
(pffi-define puts #f 'puts 'int (list 'pointer)) (pffi-define puts #f 'puts 'int (list 'pointer))
(pffi-define memset #f 'memset 'void (list 'pointer 'int 'int)) (pffi-define memset #f 'memset 'void (list 'pointer 'int 'int))
#;(define pffi-string->pointer (define pffi-string->pointer
(lambda (string-content) (lambda (string-content)
(let* ((size (string-length string-content)) (let* ((size (string-length string-content))
(pointer (pffi-pointer-allocate (+ size 1)))) (pointer (pffi-pointer-allocate (+ size 1))))
(memset pointer 0 (+ size 1)) (memset pointer 0 (+ size 1))
(strncpy-ps pointer (location string-content) size) (strncpy-ps pointer (location string-content) size)
(puts pointer) ;(puts pointer)
pointer))) pointer)))
(define pffi-string->pointer #;(define pffi-string->pointer
(foreign-lambda* c-pointer (foreign-lambda* c-pointer
((c-string str)) ((c-string str))
"C_return((void*)str);")) "C_return((void*)str);"))