From a5c078213a87d9ffe8fee83341f4b98afc1d52bb Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sat, 29 Aug 2009 20:39:06 -0500 Subject: [PATCH] more struct work --- basis/io/files/windows/nt/nt.factor | 12 +++++------- basis/windows/kernel32/kernel32.factor | 14 +++++++------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/basis/io/files/windows/nt/nt.factor b/basis/io/files/windows/nt/nt.factor index 32424a37a3..17cfa0977e 100755 --- a/basis/io/files/windows/nt/nt.factor +++ b/basis/io/files/windows/nt/nt.factor @@ -5,19 +5,18 @@ windows.kernel32 kernel libc math threads system environment alien.c-types alien.arrays alien.strings sequences combinators combinators.short-circuit ascii splitting alien strings assocs namespaces make accessors tr windows.time windows.shell32 -windows.errors ; +windows.errors specialized-arrays.ushort classes.struct ; IN: io.files.windows.nt M: winnt cwd - MAX_UNICODE_PATH dup "ushort" + MAX_UNICODE_PATH dup [ GetCurrentDirectory win32-error=0/f ] keep utf16n alien>string ; M: winnt cd SetCurrentDirectory win32-error=0/f ; -: unicode-prefix ( -- seq ) - "\\\\?\\" ; inline +CONSTANT: unicode-prefix "\\\\?\\" M: winnt root-directory? ( path -- ? ) { @@ -48,10 +47,9 @@ M: winnt CreateFile-flags ( DWORD -- DWORD ) + normalize-path 0 WIN32_FILE_ATTRIBUTE_DATA [ GetFileAttributesEx win32-error=0/f ] keep - [ WIN32_FILE_ATTRIBUTE_DATA-nFileSizeLow ] - [ WIN32_FILE_ATTRIBUTE_DATA-nFileSizeHigh ] bi >64bit ; + [ nFileSizeLow>> ] [ nFileSizeHigh>> ] bi >64bit ; PRIVATE> diff --git a/basis/windows/kernel32/kernel32.factor b/basis/windows/kernel32/kernel32.factor index 2182088efe..f4d6038954 100755 --- a/basis/windows/kernel32/kernel32.factor +++ b/basis/windows/kernel32/kernel32.factor @@ -660,13 +660,13 @@ C-STRUCT: TOKEN_PRIVILEGES { "LUID_AND_ATTRIBUTES*" "Privileges" } ; TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES -C-STRUCT: WIN32_FILE_ATTRIBUTE_DATA - { "DWORD" "dwFileAttributes" } - { "FILETIME" "ftCreationTime" } - { "FILETIME" "ftLastAccessTime" } - { "FILETIME" "ftLastWriteTime" } - { "DWORD" "nFileSizeHigh" } - { "DWORD" "nFileSizeLow" } ; +STRUCT: WIN32_FILE_ATTRIBUTE_DATA + { dwFileAttributes DWORD } + { ftCreationTime FILETIME } + { ftLastAccessTime FILETIME } + { ftLastWriteTime FILETIME } + { nFileSizeHigh DWORD } + { nFileSizeLow DWORD } ; TYPEDEF: WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA C-STRUCT: BY_HANDLE_FILE_INFORMATION -- 2.34.1