ffi/unsafe/com: fix VT_BOOL representation

A VT_BOOL isn't a _bool; it's a 16-bit #xFFFF or #x0000.

Closes PR 14425
This commit is contained in:
Matthew Flatt 2014-03-28 15:09:25 -06:00
parent 9a455ccc12
commit 3e3829c2b9

View File

@ -1461,7 +1461,13 @@
(* s CY-factor))
(lambda (s)
(/ s CY-factor))))
(define _bool16
(make-ctype _uint16
(lambda (s)
(if s #xFFFF #x0000))
(lambda (s)
(positive? s))))
(define (unsigned-int? v n)
(and (exact-integer? v)
@ -1761,7 +1767,7 @@
[(string) (_system-string/utf-16 mode)]
[(currency) _currency]
[(date) _date]
[(boolean) _bool]
[(boolean) _bool16]
[(scode) _SCODE]
[(iunknown) (_IUnknown-pointer-or-com-object mode)]
[(com-object) (_com-object mode)]