struct string_map *o UNUSED)
{
struct output_driver *d;
- struct odt_driver *odt;
struct zip_writer *zip;
const char *file_name = fh_get_file_name (fh);
if (zip == NULL)
return NULL;
- odt = xzalloc (sizeof *odt);
+ struct odt_driver *odt = XZALLOC (struct odt_driver);
d = &odt->driver;
output_driver_init (d, &odt_driver_class, file_name, device_type);
xmlTextWriterWriteString (odt->content_wtr, _xml (ds_cstr (&body)));
ds_destroy (&body);
- write_footnotes (odt, pt, cell->value->footnote_indexes,
- cell->value->n_footnotes);
+ const struct pivot_value_ex *ex = pivot_value_ex (cell->value);
+ write_footnotes (odt, pt, ex->footnote_indexes, ex->n_footnotes);
}
static void
case OUTPUT_ITEM_CHART:
break;
- case OUTPUT_ITEM_GROUP_OPEN:
- break;
-
- case OUTPUT_ITEM_GROUP_CLOSE:
+ case OUTPUT_ITEM_GROUP:
break;
case OUTPUT_ITEM_IMAGE:
case OUTPUT_ITEM_PAGE_BREAK:
break;
- case OUTPUT_ITEM_PAGE_SETUP:
- break;
-
case OUTPUT_ITEM_TABLE:
write_table (odt, item->table);
break;
static const struct output_driver_class odt_driver_class =
{
- "odf",
- odt_destroy,
- odt_submit,
- NULL,
+ .name = "odf",
+ .destroy = odt_destroy,
+ .submit = odt_submit,
};