浏览代码

* Patch from Petr K to save directory with zero size (Bug ID 36691)

git-svn-id: trunk@44150 -
michael 5 年之前
父节点
当前提交
44455d0ea4
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      packages/paszlib/src/zipper.pp

+ 4 - 1
packages/paszlib/src/zipper.pp

@@ -1498,7 +1498,10 @@ Begin
         Raise EZipError.CreateFmt(SErrMissingFileName,[I]);
         Raise EZipError.CreateFmt(SErrMissingFileName,[I]);
       If FindFirst(F.DiskFileName, STDATTR, Info)=0 then
       If FindFirst(F.DiskFileName, STDATTR, Info)=0 then
         try
         try
-          F.Size:=Info.Size;
+          if Info.Attr and faDirectory <> 0 then //in Linux directory Size <> 0
+            F.Size := 0
+          else
+            F.Size:=Info.Size;
           F.DateTime:=FileDateToDateTime(Info.Time);
           F.DateTime:=FileDateToDateTime(Info.Time);
         {$IFDEF UNIX}
         {$IFDEF UNIX}
           if fplstat(F.DiskFileName, @UnixInfo) = 0 then
           if fplstat(F.DiskFileName, @UnixInfo) = 0 then