Data update
This commit is contained in:
parent
5150844a7d
commit
4bb20c9b71
7735 changed files with 38060 additions and 199180 deletions
|
|
@ -1,13 +1,19 @@
|
|||
(import (otus ffi))
|
||||
|
||||
(define self (load-dynamic-library #f))
|
||||
|
||||
(define strdup
|
||||
(let ((strdup (self type-vptr "strdup" type-string))
|
||||
(free (self fft-void "free" type-vptr)))
|
||||
(lambda (str)
|
||||
(let*((dupped (strdup str))
|
||||
(result (vptr->string dupped)))
|
||||
(free dupped)
|
||||
result))))
|
||||
(free (self fft-void "free" type-vptr)))
|
||||
(if (and strdup free)
|
||||
; we have both native functions
|
||||
(lambda (str)
|
||||
(let*((dupped (strdup str))
|
||||
(result (vptr->string dupped)))
|
||||
(free dupped)
|
||||
result))
|
||||
; windows doesn't have strdup and free, so...
|
||||
(lambda (str)
|
||||
(list->string (string->list str))))))
|
||||
|
||||
(print (strdup "Hello World!"))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue