#include "libpspp/cast.h"
#include "libpspp/compiler.h"
+#include "output/table-item.h"
#include "gl/xalloc.h"
cell->inline_contents.options = ts->options;
cell->inline_contents.text = ts->string;
cell->inline_contents.table = NULL;
+ cell->inline_contents.n_footnotes = 0;
cell->n_contents = 1;
cell->destructor = NULL;
}
struct table_nested
{
struct table table;
- struct table *inner;
+ struct table_item *inner;
};
static const struct table_class table_nested_class;
-/* Creates and returns a table with a single cell that contains INNER. */
+/* Creates and returns a table with a single cell that contains INNER.
+ Takes ownership of INNER. */
struct table *
-table_create_nested (const struct table *inner)
+table_create_nested (struct table *inner)
+{
+ return table_create_nested_item (table_item_create (inner, NULL, NULL));
+}
+
+/* Creates and returns a table with a single cell that contains INNER.
+ Takes ownership of INNER. */
+struct table *
+table_create_nested_item (struct table_item *inner)
{
struct table_nested *tn = xmalloc (sizeof *tn);
table_init (&tn->table, &table_nested_class);
tn->table.n[TABLE_HORZ] = tn->table.n[TABLE_VERT] = 1;
- tn->inner = table_ref (inner);
+ tn->inner = table_item_ref (inner);
return &tn->table;
}
table_nested_destroy (struct table *tn_)
{
struct table_nested *tn = table_nested_cast (tn_);
- table_unref (tn->inner);
+ table_item_unref (tn->inner);
free (tn);
}
cell->inline_contents.options = TAB_LEFT;
cell->inline_contents.text = NULL;
cell->inline_contents.table = tn->inner;
+ cell->inline_contents.n_footnotes = 0;
cell->n_contents = 1;
cell->destructor = NULL;
}