Skip to content

Commit bd05ed4

Browse files
committed
Forgot to handle boolean in variadic arguments call
1 parent 57ab040 commit bd05ed4

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

src/pffi/compat.chezscheme.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,7 @@
271271
"Unsuported number" arg))))
272272
((or (string? arg) (bytevector? arg) (pointer? arg))
273273
'void*)
274+
((boolean? arg) 'boolean)
274275
(else
275276
(assertion-violation 'name
276277
"Unsuported Scheme object" arg))))

src/pffi/compat.mzscheme.sls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@
233233
"Complex number not supported"
234234
arg))))
235235
((cpointer? arg) _pointer)
236+
((boolean? arg) _stdbool)
236237
(else (assertion-violation 'make-c-function
237238
"Unsupported argument" arg))))
238239
(if after

tests/test.scm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,9 @@
324324

325325
;; varargs
326326
(let ((sum (foreign-procedure test-lib int sum (int ___))))
327-
(test-equal "variadic argument" 10 (sum 4 1 2 3 4)))
327+
(test-equal "variadic argument (1)" 10 (sum 4 1 2 3 4))
328+
;; #t = 1 :)
329+
(test-equal "variadic argument (2)" 10 (sum 4 #t 2 3 4)))
328330

329331
;; typedef
330332
(let ((id-str (foreign-procedure test-lib ppp id_str (ppp))))

0 commit comments

Comments
 (0)