projects
/
pspp
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a2bd379
)
Made it crash a little less often
author
John Darrington
<john@darrington.wattle.id.au>
Mon, 18 Feb 2013 18:22:28 +0000
(19:22 +0100)
committer
John Darrington
<john@darrington.wattle.id.au>
Mon, 18 Feb 2013 20:59:07 +0000
(21:59 +0100)
src/data/ods-reader.c
patch
|
blob
|
history
diff --git
a/src/data/ods-reader.c
b/src/data/ods-reader.c
index 0e55eb273e0ec60e3e2069c925c3a41112e78bec..7b7059ad9840ed94dc53a18f5d85f48448b4fbec 100644
(file)
--- a/
src/data/ods-reader.c
+++ b/
src/data/ods-reader.c
@@
-228,7
+228,7
@@
process_node (struct ods_reader *r)
r->sheet_index, r->row);
r->state = STATE_SPREADSHEET;
r->sheet_index, r->row);
r->state = STATE_SPREADSHEET;
- r->sheet_index = -1
+ r->sheet_index = -1
;
}
break;
case STATE_SPREADSHEET:
}
break;
case STATE_SPREADSHEET:
@@
-706,6
+706,7
@@
ods_make_reader (struct spreadsheet *spreadsheet,
}
}
}
}
+ printf ("%s:%d N varspecs %d\n", __FILE__, __LINE__, n_var_specs);
/* Read in the first row of data */
while (1 == xmlTextReaderRead (r->xtr))
/* Read in the first row of data */
while (1 == xmlTextReaderRead (r->xtr))
@@
-729,6
+730,14
@@
ods_make_reader (struct spreadsheet *spreadsheet,
if ( r->state == STATE_CELL_CONTENT &&
XML_READER_TYPE_TEXT == r->node_type)
{
if ( r->state == STATE_CELL_CONTENT &&
XML_READER_TYPE_TEXT == r->node_type)
{
+
+ if ( idx >= n_var_specs)
+ {
+ var_spec = xrealloc (var_spec, sizeof (*var_spec) * (idx + 1));
+ var_spec [idx].name = NULL;
+ n_var_specs = idx + 1;
+ }
+
var_spec [idx].firstval.type = type;
var_spec [idx].firstval.text = xmlTextReaderValue (r->xtr);
var_spec [idx].firstval.value = val_string;
var_spec [idx].firstval.type = type;
var_spec [idx].firstval.text = xmlTextReaderValue (r->xtr);
var_spec [idx].firstval.value = val_string;
@@
-738,6
+747,8
@@
ods_make_reader (struct spreadsheet *spreadsheet,
}
}
}
}
+ printf ("%s:%d N varspecs %d\n", __FILE__, __LINE__, n_var_specs);
+
/* Create the dictionary and populate it */
r->spreadsheet.dict = r->dict = dict_create (
CHAR_CAST (const char *, xmlTextReaderConstEncoding (r->xtr)));
/* Create the dictionary and populate it */
r->spreadsheet.dict = r->dict = dict_create (
CHAR_CAST (const char *, xmlTextReaderConstEncoding (r->xtr)));