+ implemented SysUtils.FileExists for WASI

This commit is contained in:
Nikolay Nikolov 2021-10-12 03:08:18 +03:00
parent fe903f2ae4
commit 4dc0c37678

View File

@ -431,7 +431,24 @@ end;
function FileExists (const FileName: RawByteString; FollowLink : Boolean): boolean; function FileExists (const FileName: RawByteString; FollowLink : Boolean): boolean;
var
pr: RawByteString;
fd: __wasi_fd_t;
Info: __wasi_filestat_t;
flags: __wasi_lookupflags_t;
begin begin
if FileName='' then
exit(false);
if not ConvertToFdRelativePath(FileName,fd,pr) then
exit(false);
if FollowLink then
flags:=__WASI_LOOKUPFLAGS_SYMLINK_FOLLOW
else
flags:=0;
if __wasi_path_filestat_get(fd,flags,PChar(pr),length(pr),@Info)=__WASI_ERRNO_SUCCESS then
result:=Info.filetype<>__WASI_FILETYPE_DIRECTORY
else
result:=false;
end; end;