On error find-first-file will now throw a windows-error instance instead of
a string.
RemoveDirectory win32-error=0/f ;
: find-first-file ( path WIN32_FIND_DATA -- WIN32_FIND_DATA HANDLE )
- [ nip ] [ FindFirstFile ] 2bi
- [ INVALID_HANDLE_VALUE = [ win32-error-string throw ] when ] keep ;
+ [ nip ] [ FindFirstFile ] 2bi check-invalid-handle ;
: find-next-file ( HANDLE WIN32_FIND_DATA -- WIN32_FIND_DATA/f )
[ nip ] [ FindNextFile ] 2bi 0 = [
: find-first-file-stat ( path -- WIN32_FIND_DATA )
WIN32_FIND_DATA <struct> [
- FindFirstFile
- [ INVALID_HANDLE_VALUE = [ win32-error ] when ] keep
+ FindFirstFile check-invalid-handle
FindClose win32-error=0/f
] keep ;