[gnumeric] xlsx: don't complain over LO's empty expressions for names.



commit 47971687f529a133f93b1071baf0847b76055f29
Author: Morten Welinder <terra gnome org>
Date:   Mon Jun 2 20:43:36 2014 -0400

    xlsx: don't complain over LO's empty expressions for names.

 plugins/excel/ChangeLog   |    5 +++++
 plugins/excel/xlsx-read.c |    9 +++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/plugins/excel/ChangeLog b/plugins/excel/ChangeLog
index 09db90f..dbae4a3 100644
--- a/plugins/excel/ChangeLog
+++ b/plugins/excel/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-02  Morten Welinder  <terra gnome org>
+
+       * xlsx-read.c (handle_delayed_names): Handle empty string for
+       expression as #REF for the benefit of LO.
+
 2014-05-31  Morten Welinder  <terra gnome org>
 
        * xlsx-write.c (xlsx_write_cells): Support value formats.  Fixes
diff --git a/plugins/excel/xlsx-read.c b/plugins/excel/xlsx-read.c
index abe9af4..8de1265 100644
--- a/plugins/excel/xlsx-read.c
+++ b/plugins/excel/xlsx-read.c
@@ -1051,7 +1051,9 @@ xlsx_parse_expr (GsfXMLIn *xin, xmlChar const *expr_str,
                GNM_EXPR_PARSE_DEFAULT, state->convs,
                parse_error_init (&err));
        if (NULL == texpr)
-               xlsx_warning (xin, "'%s' %s", expr_str, err.err->message);
+               xlsx_warning (xin, "At %s: '%s' %s",
+                             parsepos_as_string (pp),
+                             expr_str, err.err->message);
        parse_error_free (&err);
 
        return texpr;
@@ -3404,7 +3406,10 @@ handle_delayed_names (GsfXMLIn *xin)
                GnmParsePos pp;
 
                parse_pos_init (&pp, state->wb, sheet, 0, 0);
-               texpr = xlsx_parse_expr (xin, expr_str, &pp);
+               if (*expr_str == 0)
+                       texpr = gnm_expr_top_new_constant (value_new_error_REF (NULL));
+               else
+                       texpr = xlsx_parse_expr (xin, expr_str, &pp);
                if (texpr) {
                        expr_name_set_expr (nexpr, texpr);
                }


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