[gnumeric] xls: go wild with BIFF_CONTINUE handling.



commit a1dbb65602d44172aeda6fc0c12a9bbb239c76b7
Author: Morten Welinder <terra gnome org>
Date:   Sat Feb 22 17:38:45 2014 -0500

    xls: go wild with BIFF_CONTINUE handling.
    
    This covers everything that I can find that appears to have potentially
    large sections in them: formulae, strings, images.

 plugins/excel/ChangeLog |    6 +++---
 plugins/excel/ms-biff.c |   31 +++++++++++++++++++++++++------
 2 files changed, 28 insertions(+), 9 deletions(-)
---
diff --git a/plugins/excel/ChangeLog b/plugins/excel/ChangeLog
index fe7be0c..858a437 100644
--- a/plugins/excel/ChangeLog
+++ b/plugins/excel/ChangeLog
@@ -1,11 +1,11 @@
 2014-02-22  Morten Welinder  <terra gnome org>
 
+       * ms-biff.c (ms_biff_query_next): Handle BIFF_CONTINUE for a whole
+       bunch of record types containing strings or formulae.
+
        * ms-excel-read.c (excel_read_IMDATA): No need to handle
        BIFF_CONTINUE here.
 
-       * ms-biff.c (ms_biff_query_next): Handle BIFF_CONTINUE for images,
-       headers, and footers.
-
        * ms-formula-read.c (undo_save_hacks): Undo the
        long-string-constant hack in write_string.
 
diff --git a/plugins/excel/ms-biff.c b/plugins/excel/ms-biff.c
index 734b48e..26f7dce 100644
--- a/plugins/excel/ms-biff.c
+++ b/plugins/excel/ms-biff.c
@@ -506,16 +506,35 @@ ms_biff_query_next (BiffQuery *q)
         * now, however, do the bare minimum.
         */        
        switch (q->opcode) {
-       case BIFF_LABEL_v0:
-       case BIFF_LABEL_v2:
+       case BIFF_BG_PIC:
+       case BIFF_BOUNDSHEET:
+       case BIFF_CF:
+       case BIFF_CODENAME:
+       case BIFF_CONDFMT:
+       case BIFF_DV:
+       case BIFF_DVAL:
+       case BIFF_EXTERNNAME_v0:
+       case BIFF_EXTERNNAME_v2:
+       case BIFF_EXTERNSHEET:
+       case BIFF_FONT_v0:
+       case BIFF_FONT_v2:
+       case BIFF_FOOTER:
+       case BIFF_FORMAT_v0:
+       case BIFF_FORMAT_v4:
        case BIFF_FORMULA_v0:
        case BIFF_FORMULA_v2:
-       case BIFF_STRING_v0:
-       case BIFF_STRING_v2:
+       case BIFF_FORMULA_v4:
        case BIFF_HEADER:
-       case BIFF_FOOTER:
-       case BIFF_BG_PIC:
+       case BIFF_HLINK:
        case BIFF_IMDATA:
+       case BIFF_LABEL_v0:
+       case BIFF_LABEL_v2:
+       case BIFF_NAME_v0:
+       case BIFF_NAME_v2:
+       case BIFF_NOTE:
+       case BIFF_STRING_v0:
+       case BIFF_STRING_v2:
+       case BIFF_SUPBOOK:
                auto_continue = TRUE;
                break;
        case BIFF_CONTINUE:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]