gnumeric r17114 - in trunk: . src
- From: mortenw svn gnome org
- To: svn-commits-list gnome org
- Subject: gnumeric r17114 - in trunk: . src
- Date: Thu, 29 Jan 2009 21:36:21 +0000 (UTC)
Author: mortenw
Date: Thu Jan 29 21:36:21 2009
New Revision: 17114
URL: http://svn.gnome.org/viewvc/gnumeric?rev=17114&view=rev
Log:
2009-01-29 Morten Welinder <terra gnome org>
* src/parse-util.c (rangeref_parse): Fix parsing problem for
"a12:indirect(...)". Fixes #569730.
Modified:
trunk/ChangeLog
trunk/NEWS
trunk/src/parse-util.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Thu Jan 29 21:36:21 2009
@@ -89,8 +89,9 @@
* Fix problem reading slightly-corrupted dbf file. [#568454]
* If we overflow the sheet tab area, put list in context menu.
* Fix ods load crash. [#568994]
- * Uses caches for bisection cases of VLOOKUP/HLOOKUP/LOOKUP/MATCH
+ * Use caches for bisection cases of VLOOKUP/HLOOKUP/LOOKUP/MATCH
too. Fix issues with bools versus floats.
+ * Fix parsing problem for constructed ranges. [#569730]
--------------------------------------------------------------------------
Gnumeric 1.9.3
Modified: trunk/src/parse-util.c
==============================================================================
--- trunk/src/parse-util.c (original)
+++ trunk/src/parse-util.c Thu Jan 29 21:36:21 2009
@@ -1103,27 +1103,29 @@
if (res->a.row_relative)
res->a.row -= pp->eval.row;
- /* prepare as if it's a singleton, in case we want to fall back */
- res->b.col = res->a.col;
- res->b.row = res->a.row;
- res->b.col_relative = res->a.col_relative;
- res->b.row_relative = res->a.row_relative;
- if (*tmp2 != ':')
- return tmp2;
-
ptr = tmp2;
+ if (*ptr != ':')
+ goto singleton;
+
tmp1 = col_parse (ptr+1, &res->b.col, &res->b.col_relative);
if (!tmp1)
- return ptr; /* strange, but valid singleton */
+ goto singleton; /* strange, but valid singleton */
tmp2 = row_parse (tmp1, &res->b.row, &res->b.row_relative);
if (!tmp2)
- return ptr; /* strange, but valid singleton */
+ goto singleton; /* strange, but valid singleton */
if (res->b.col_relative)
res->b.col -= pp->eval.col;
if (res->b.row_relative)
res->b.row -= pp->eval.row;
return tmp2;
+
+ singleton:
+ res->b.col = res->a.col;
+ res->b.row = res->a.row;
+ res->b.col_relative = res->a.col_relative;
+ res->b.row_relative = res->a.row_relative;
+ return ptr;
}
#if 0
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]