Browse Source

+ implemented SysUtils.FileGetAttr for WASI

Nikolay Nikolov 3 years ago
parent
commit
00aa7b8ab3
1 changed files with 13 additions and 0 deletions
  1. 13 0
      rtl/wasi/sysutils.pp

+ 13 - 0
rtl/wasi/sysutils.pp

@@ -592,7 +592,20 @@ end;
 
 
 Function FileGetAttr (Const FileName : RawByteString) : Longint;
+var
+  pr: RawByteString;
+  fd: __wasi_fd_t;
+  Info: __wasi_filestat_t;
 begin
+  if ConvertToFdRelativePath(FileName,fd,pr)<>0 then
+    begin
+      result:=-1;
+      exit;
+    end;
+  if __wasi_path_filestat_get(fd,0,PChar(pr),length(pr),@Info)=__WASI_ERRNO_SUCCESS then
+    result:=WasiToWinAttr(FileName,fd,PChar(pr),length(pr),Info)
+  else
+    result:=-1;
 end;