RemoveDirectory win32-error=0/f ;
: find-first-file ( path WIN32_FIND_DATA -- WIN32_FIND_DATA HANDLE )
- [ nip ] [ FindFirstFile ] 2bi check-invalid-handle ;
+ [ nip ] [ FindFirstFile ] 2bi
+ [ INVALID_HANDLE_VALUE = [ win32-error-string throw ] when ] keep ;
: 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 check-invalid-handle
+ FindFirstFile
+ [ INVALID_HANDLE_VALUE = [ win32-error ] when ] keep
FindClose win32-error=0/f
] keep ;