! Copyright (C) 2008 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
-USING: alien alien.c-types alien.data alien.strings
-alien.syntax kernel layouts libc sequences system unix
-environment io.encodings.utf8 unix.utilities vocabs
-combinators alien.accessors unix.ffi ;
+USING: alien.accessors alien.c-types alien.data alien.strings
+alien.syntax environment io.encodings.utf8 kernel libc system unix.ffi
+unix.utilities vocabs ;
IN: environment.unix
HOOK: environ os ( -- void* )
M: unix unset-os-env ( key -- ) unsetenv io-error ;
M: unix (os-envs) ( -- seq )
- environ void* deref utf8 alien>strings ;
+ environ void* deref native-string-encoding alien>strings ;
: set-void* ( value alien -- ) 0 set-alien-cell ;
! See http://factorcode.org/license.txt for BSD license.
USING: accessors alien.c-types alien.data alien.strings assocs
classes.struct continuations fry io.backend io.backend.unix
-io.directories io.encodings.utf8 io.files io.files.info
-io.files.info.unix io.files.types kernel libc literals math
-sequences system unix unix.ffi vocabs ;
+io.directories io.files io.files.info io.files.info.unix
+io.files.types kernel libc literals math sequences system unix
+unix.ffi vocabs ;
IN: io.directories.unix
CONSTANT: touch-mode flags{ O_WRONLY O_APPEND O_CREAT O_EXCL }
] 2keep void* deref ; inline
: >directory-entry ( dirent* -- directory-entry )
- [ d_name>> utf8 alien>string ]
+ [ d_name>> alien>native-string ]
[ d_type>> dirent-type>file-type ] bi
dup +unknown+ = [ drop dup file-info type>> ] when
<directory-entry> ; inline