io.files.windows: make win32-file-attributes a little faster.
							parent
							
								
									eb3f6ac75b
								
							
						
					
					
						commit
						8a21ff40d3
					
				| 
						 | 
				
			
			@ -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+ ? ;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue