-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello, good people!

Just to tell you that last some weeks I was working together with
AbiWord's QA expert "sum1" on trying to improve the stability and
robustness of libwpd. The goal was to avoid crashes and handle as much
documents as possible. In order to achieve this goal, I added to the
WP3, WP5 and WP6 parser a corruption removal heuristics. Before parsing
any function, we check whether the function is having the correct
structure and we parse it only if this is true. In the opposite case, we
conclude that that part is corrupted and skip the byte at stake. We
start parsing the information only when we meet a function that is
correctly formed. This allows us to handle (recover as much information
as possible) corrupted documents that normally crash WordPerfect itself.

For WP42, I do not add any "corruption handling", since WP42 is a bit an
"egg and chicken" issue. Already our typedetection is relying on the
fact that we try whether the document is a correctly formed WP42
document. Introducing a corruption removal for this format would mean
that virtually any document on the earth would be considered a corrupted
WP42 document and "repaired" by libwpd. This is not really the result we
want.

Here are the statistics showing illustrating the results of stability
improvement of libwpd:

                  libwpd 0.8.5                libwpd 0.8.6

Total tested:     46675                       46675
Unsupported:        122 ( 0.26%)                 15 ( 0.03%)
                  -----                       -----
Actually tested:  46553 (99.74% import rate)  46660 (99.97% import rate)

Parse exceptions:   660                           0
File exceptions:    555                           8
Unknown errors:       5                           0
Crashes:             13                           0
                  -----                       -----
Total failures:    1233 (2.65% failure rate)      8 (0.02% failure rate)

I would like to make our user profit from this work by releasing a new
version even though I did not add much in terms of new converted
features (except headers/footers in WP42). The new feature improvements
will be there for 0.8.7, I promiss :-)

Cheers

Fridrich

- --
Please avoid sending me Word, Excel or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEsWemu9a1imXPdA8RAos0AJ9KCe2MlHpEBq2LMNwtu2x0v6jDwACfYziv
6wKCLVVuhIXuXI96ypnlZYE=
=UNnO
-----END PGP SIGNATURE-----


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Libwpd-devel mailing list
Libwpd-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libwpd-devel

Reply via email to