2012-07-12 Wojciech Kocjan <zoro2@users.sourceforge.net>
authorWojciech Kocjan <zoro2@users.sourceforge.net>
Thu, 12 Jul 2012 13:36:18 +0000 (13:36 +0000)
committerWojciech Kocjan <zoro2@users.sourceforge.net>
Thu, 12 Jul 2012 13:36:18 +0000 (13:36 +0000)
* zipvfs.tcl: Fix for Tcl 8.6 not properly streaming large files with
very big compression ratio, bug 3542959

ChangeLog
library/zipvfs.tcl

index 1075db4b2200442ed6096ffc48cef1fc41c5393b..16a9473378d9431f3268f2b9af22e128c46d23b1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-12  Wojciech Kocjan <zoro2@users.sourceforge.net>
+
+       * zipvfs.tcl: Fix for Tcl 8.6 not properly streaming large files with
+       very big compression ratio, bug 3542959
+
 2012-07-04  Wojciech Kocjan <zoro2@users.sourceforge.net>
 
        * zipvfs.tcl: Fix for streaming not working properly in certain zip
index 0c5cc6e6b5f91c54b361062e9df01a8d618456f7..bdb9653c49cd3d47cf19b42939e2163a35fe50d3 100644 (file)
@@ -852,7 +852,9 @@ proc ::zip::zstream_handler {istart ifd clen ilen cmd fd {a1 ""} {a2 ""}} {
                    set data [read $ifd $c]
                    set tell [tell $ifd]
                    zstream_put $fd $data
-                   append buf [zstream_get $fd]
+                   while {[string length [set bufdata [zstream_get $fd]]] > 0} {
+                       append buf $bufdata
+                   }
                }
            }
            return $r