alien.c-types: make sure generated words reference C type words not strings
parent
c0588221cf
commit
2c553bcc86
|
@ -298,19 +298,16 @@ M: long-long-type box-return ( c-type -- )
|
|||
f swap box-parameter ;
|
||||
|
||||
: define-deref ( name -- )
|
||||
[ CHAR: * prefix "alien.c-types" create ] [ c-getter 0 prefix ] bi
|
||||
[ name>> CHAR: * prefix "alien.c-types" create ] [ c-getter 0 prefix ] bi
|
||||
(( c-ptr -- value )) define-inline ;
|
||||
|
||||
: define-out ( name -- )
|
||||
[ "alien.c-types" constructor-word ]
|
||||
: define-out ( word -- )
|
||||
[ name>> "alien.c-types" constructor-word ]
|
||||
[ dup c-setter '[ _ heap-size (byte-array) [ 0 @ ] keep ] ] bi
|
||||
(( value -- c-ptr )) define-inline ;
|
||||
|
||||
: define-primitive-type ( c-type name -- )
|
||||
[ typedef ]
|
||||
[ name>> define-deref ]
|
||||
[ name>> define-out ]
|
||||
tri ;
|
||||
[ typedef ] [ define-deref ] [ define-out ] tri ;
|
||||
|
||||
: if-void ( c-type true false -- )
|
||||
pick void? [ drop nip call ] [ nip call ] if ; inline
|
||||
|
|
Loading…
Reference in New Issue