diff --git a/extra/system-info/linux/linux.factor b/extra/system-info/linux/linux.factor index b77e1fe649..8a943927c7 100644 --- a/extra/system-info/linux/linux.factor +++ b/extra/system-info/linux/linux.factor @@ -1,14 +1,15 @@ ! Copyright (C) 2008 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. USING: unix alien alien.c-types kernel math sequences strings -io.backend.unix splitting io.encodings.utf8 io.encodings.string ; +io.backend.unix splitting io.encodings.utf8 io.encodings.string +specialized-arrays.char ; IN: system-info.linux : (uname) ( buf -- int ) "int" f "uname" { "char*" } alien-invoke ; : uname ( -- seq ) - 65536 "char" [ (uname) io-error ] keep + 65536 [ (uname) io-error ] keep "\0" split harvest [ utf8 decode ] map 6 "" pad-tail ; diff --git a/extra/system-info/windows/windows.factor b/extra/system-info/windows/windows.factor index e68f6ce62f..acbe668c7a 100755 --- a/extra/system-info/windows/windows.factor +++ b/extra/system-info/windows/windows.factor @@ -3,7 +3,7 @@ USING: alien alien.c-types classes.struct accessors kernel math namespaces windows windows.kernel32 windows.advapi32 words combinators vocabs.loader system-info.backend system -alien.strings windows.errors ; +alien.strings windows.errors specialized-arrays.ushort ; IN: system-info.windows : system-info ( -- SYSTEM_INFO ) @@ -49,11 +49,8 @@ IN: system-info.windows : sse3? ( -- ? ) PF_SSE3_INSTRUCTIONS_AVAILABLE feature-present? ; -: ( n -- obj ) - "ushort" ; - : get-directory ( word -- str ) - [ MAX_UNICODE_PATH [ ] keep dupd ] dip + [ MAX_UNICODE_PATH [ ] keep dupd ] dip execute win32-error=0/f alien>native-string ; inline : windows-directory ( -- str )