GNOME Bugzilla – Bug 656531
Fix for gsf_vba_inflate
Last modified: 2013-01-23 18:19:08 UTC
"gsf_vba_inflate" does not match with decompression algorithm from [MS-OVBA]. (XL saves something not 100% different from what documented in [MS-OVBA]). Attached patch is a proposed fix based on [MS-OVBA] and corrected to XL's reality.
Created attachment 193828 [details] [review] Patch for gsf_vba_inflate
Created attachment 193831 [details] [review] Do not call "gsf_input_size" every time, and workaround for MS Office compression bug
Created attachment 194320 [details] [review] Fix off by 1; seek to offset
Created attachment 196882 [details] xls file with large (>4k) VBA module MSO 2k7 (and probably others) uses inflate/deflate algorithms which do not match with description from MS-OVBA. In case resulting deflated module is bigger than 4k some MSO applications fail to inflate whatever they deflated and some other are able to inflate their own compressed (not like described in the documentation) data.
Go ahead with this, but fix "@gboolean" first.
Fixed, pushed.
I now get errors on loading samples/excel/mathfuns.xls in gnumeric: ** (/home/welinder/gnome-src/gnumeric/src/.libs/gnumeric:25342): WARNING **: Problems extracting the source for Sheet1 @ 853 ** (/home/welinder/gnome-src/gnumeric/src/.libs/gnumeric:25342): WARNING **: Problems extracting the source for ThisWorkbook @ 805 Please advise.
(In reply to comment #7) > I now get errors on loading samples/excel/mathfuns.xls in gnumeric: > Please advise. Fix has been pushed to git.
Seems better.