r->sheets[r->n_allocated_sheets - 1].stop_col = -1;
r->sheets[r->n_allocated_sheets - 1].start_row = -1;
r->sheets[r->n_allocated_sheets - 1].stop_row = -1;
- r->sheets[r->n_allocated_sheets - 1].name = xmlStrdup (r->current_sheet_name);
+ r->sheets[r->n_allocated_sheets - 1].name = CHAR_CAST (char *, xmlStrdup (r->current_sheet_name));
}
r->col = 0;
if ( 0 == xmlStrcmp (xmv->type, _xml("float")))
{
- v->f = c_strtod (xmv->value, NULL);
+ v->f = c_strtod (CHAR_CAST (const char *, xmv->value), NULL);
}
else
{
process_node (r);
}
-
if (ret < 1)
{
msg (MW, _("Selected sheet or range of spreadsheet `%s' is empty."),
int idx;
process_node (r);
+ if ( ! reading_target_sheet (r) )
+ break;
+
/* If the row is finished then stop for now */
if (r->state == STATE_TABLE &&
r->row > r->start_row + (opts->read_names ? 1 : 0))
for (col = 0; col < r->col_span; ++col)
{
+ const struct variable *var;
const int idx = r->col + col - r->start_col - 1;
if (idx < 0)
continue;
if (r->stop_col != -1 && idx > r->stop_col - r->start_col )
break;
- const struct variable *var = dict_get_var (r->dict, idx);
+ var = dict_get_var (r->dict, idx);
convert_xml_to_value (c, var, xmv);
}