Kaynağa Gözat

Merged revisions 10080 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

........
r10080 | peter | 2008-01-28 17:28:14 +0100 (Mon, 28 Jan 2008) | 2 lines

* fix buffer handling in flush
........

git-svn-id: branches/fixes_2_2@10145 -

peter 17 yıl önce
ebeveyn
işleme
cbabc7c010
1 değiştirilmiş dosya ile 5 ekleme ve 5 silme
  1. 5 5
      packages/paszlib/src/zstream.pp

+ 5 - 5
packages/paszlib/src/zstream.pp

@@ -217,11 +217,6 @@ var err:smallint;
 begin
   {Compress remaining data still in internal zlib data buffers.}
   repeat
-    err:=deflate(Fstream,Z_FINISH);
-    if err=Z_STREAM_END then
-      break;
-    if err<>Z_OK then
-      raise Ecompressionerror.create(zerror(err));
     if Fstream.avail_out=0 then
       begin
         { Flush the buffer to the stream and update progress }
@@ -232,6 +227,11 @@ begin
         Fstream.next_out:=Fbuffer;
         Fstream.avail_out:=bufsize;
       end;
+    err:=deflate(Fstream,Z_FINISH);
+    if err=Z_STREAM_END then
+      break;
+    if (err<>Z_OK) then
+      raise Ecompressionerror.create(zerror(err));
   until false;
   if Fstream.avail_out<bufsize then
     begin