aka: wcf3
Email: chuck at ferril dot com
My Tcl stuff page: http://wcferril.home.mchsi.com/ (including tDOM for Linux, FreeBSD, Solaris-Sparc, Solaris-x86, Mac OSX, and Windows)
Here is my one-line fix for using VFS to read OpenOffice/StarOffice document files. I could never get anyone to merge this into the source tree (or even respond)...perhaps it was fixed in another way, but I never heard about it... anyway here is the complete zip::Data procedure from zipvfs.tcl with my change buried within the massive comment:
...
if { $varPtr == "" } { seek $fd $sb(csize) current } else { #!!! Added by Chuck Ferril 10-26-03 to fix reading of OpenOffice #!!! .sxw files. Any files in the zip that had a method of 8 #!!! (deflate) failed here because size and csize were zero. #!!! I'm not sure why the above computes the size and csize #!!! wrong, but stat appears works properly. I originally #!!! checked for csize of zero, but adding this change didn't #!!! appear to break the non-deflated file access and seemed #!!! more natural. zip::stat $fd $sb(name) sb #!!! End of my change set data [read $fd $sb(csize)] }
...
Looks like the above has been added by Jeff Hobbs, see the ChangeLog:
2004-06-04 Jeff Hobbs <[email protected]> > * library/zipvfs.tcl (zip::Data): add zip::stat call that > correctly determines size for some zip files (Ferril).