Explorar o código

* use -1 instead of 0 for indicating empty DirFD

git-svn-id: trunk@49574 -
nickysn %!s(int64=4) %!d(string=hai) anos
pai
achega
f0543ad8d5
Modificáronse 1 ficheiros con 6 adicións e 8 borrados
  1. 6 8
      rtl/wasi/dos.pp

+ 6 - 8
rtl/wasi/dos.pp

@@ -397,13 +397,13 @@ Begin
      If i<=RtlFindSize Then
      If i<=RtlFindSize Then
       Begin
       Begin
         RtlFindRecs[i].SearchNum:=0;
         RtlFindRecs[i].SearchNum:=0;
-        if f.dirfd<>0 then
+        if f.dirfd<>-1 then
           repeat
           repeat
             res:=__wasi_fd_close(f.dirfd);
             res:=__wasi_fd_close(f.dirfd);
           until (res=__WASI_ERRNO_SUCCESS) or (res<>__WASI_ERRNO_INTR);
           until (res=__WASI_ERRNO_SUCCESS) or (res<>__WASI_ERRNO_INTR);
       End;
       End;
    end;
    end;
-  f.dirfd:=0;
+  f.dirfd:=-1;
 End;
 End;
 
 
 
 
@@ -546,13 +546,11 @@ Begin
               RtlFindRecs[ArrayPos].DirFD := f.DirFD;
               RtlFindRecs[ArrayPos].DirFD := f.DirFD;
             end
             end
            else
            else
-            f.DirFD:=0;
+            f.DirFD:=-1;
            FreeMem(pr);
            FreeMem(pr);
          end
          end
         else
         else
-         begin
-           f.DirFD:=0;
-         end;
+         f.DirFD:=-1;
       End;
       End;
      if ArrayPos>0 then
      if ArrayPos>0 then
        RtlFindRecs[ArrayPos].LastUsed:=0;
        RtlFindRecs[ArrayPos].LastUsed:=0;
@@ -560,7 +558,7 @@ Begin
 {Main loop}
 {Main loop}
   SName:=Copy(f.SearchSpec,f.NamePos+1,255);
   SName:=Copy(f.SearchSpec,f.NamePos+1,255);
   Found:=False;
   Found:=False;
-  Finished:=(f.DirFD=0);
+  Finished:=(f.DirFD=-1);
   While Not Finished Do
   While Not Finished Do
    Begin
    Begin
      res:=__wasi_fd_readdir(f.DirFD,
      res:=__wasi_fd_readdir(f.DirFD,
@@ -634,7 +632,7 @@ Begin
         else }
         else }
          DosError:=18;
          DosError:=18;
       end;
       end;
-     f.DirFD:=0;
+     f.DirFD:=-1;
      f.SearchType:=1;
      f.SearchType:=1;
      f.searchnum:=-1;
      f.searchnum:=-1;
    end
    end