]> gitweb.factorcode.org Git - factor.git/blob - basis/unix/utilities/utilities.factor
Remove usages of <void*> and *void*
[factor.git] / basis / unix / utilities / utilities.factor
1 ! Copyright (C) 2008 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien alien.c-types alien.data alien.strings
4 combinators.short-circuit fry kernel layouts sequences accessors
5 specialized-arrays ;
6 IN: unix.utilities
7
8 SPECIALIZED-ARRAY: void*
9
10 : more? ( alien -- ? )
11     { [ ] [ void* deref ] } 1&& ;
12
13 : advance ( void* -- void* )
14     cell swap <displaced-alien> ;
15
16 : alien>strings ( alien encoding -- strings )
17     [ [ dup more? ] ] dip
18     '[ [ advance ] [ void* deref _ alien>string ] bi ]
19     produce nip ;
20
21 : strings>alien ( strings encoding -- array )
22     '[ _ malloc-string ] void*-array{ } map-as f suffix ;