io.files.windows: make win32-file-attributes a little faster.

master
John Benediktsson 2020-02-07 14:11:43 -08:00
parent dfc4901857
commit b430f8e0a7
1 changed files with 15 additions and 16 deletions

View File

@ -282,22 +282,21 @@ SLOT: attributes
: win32-file-attributes ( n -- seq )
{
{ +read-only+ FILE_ATTRIBUTE_READONLY }
{ +hidden+ FILE_ATTRIBUTE_HIDDEN }
{ +system+ FILE_ATTRIBUTE_SYSTEM }
{ +directory+ FILE_ATTRIBUTE_DIRECTORY }
{ +archive+ FILE_ATTRIBUTE_ARCHIVE }
{ +device+ FILE_ATTRIBUTE_DEVICE }
{ +normal+ FILE_ATTRIBUTE_NORMAL }
{ +temporary+ FILE_ATTRIBUTE_TEMPORARY }
{ +sparse-file+ FILE_ATTRIBUTE_SPARSE_FILE }
{ +reparse-point+ FILE_ATTRIBUTE_REPARSE_POINT }
{ +compressed+ FILE_ATTRIBUTE_COMPRESSED }
{ +offline+ FILE_ATTRIBUTE_OFFLINE }
{ +not-content-indexed+ FILE_ATTRIBUTE_NOT_CONTENT_INDEXED }
{ +encrypted+ FILE_ATTRIBUTE_ENCRYPTED }
}
[ execute( -- y ) mask? [ drop f ] unless ] with { } assoc>map sift ;
{ +read-only+ $ FILE_ATTRIBUTE_READONLY }
{ +hidden+ $ FILE_ATTRIBUTE_HIDDEN }
{ +system+ $ FILE_ATTRIBUTE_SYSTEM }
{ +directory+ $ FILE_ATTRIBUTE_DIRECTORY }
{ +archive+ $ FILE_ATTRIBUTE_ARCHIVE }
{ +device+ $ FILE_ATTRIBUTE_DEVICE }
{ +normal+ $ FILE_ATTRIBUTE_NORMAL }
{ +temporary+ $ FILE_ATTRIBUTE_TEMPORARY }
{ +sparse-file+ $ FILE_ATTRIBUTE_SPARSE_FILE }
{ +reparse-point+ $ FILE_ATTRIBUTE_REPARSE_POINT }
{ +compressed+ $ FILE_ATTRIBUTE_COMPRESSED }
{ +offline+ $ FILE_ATTRIBUTE_OFFLINE }
{ +not-content-indexed+ $ FILE_ATTRIBUTE_NOT_CONTENT_INDEXED }
{ +encrypted+ $ FILE_ATTRIBUTE_ENCRYPTED }
} [ mask? [ drop f ] unless ] with { } assoc>map sift ;
: win32-file-type ( n -- symbol )
FILE_ATTRIBUTE_DIRECTORY mask? +directory+ +regular-file+ ? ;