X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Ftable.c;h=0667c067350ac0730a97a650ffe4e0d35f1d35df;hb=6ca0be37b2e94b716be82a4686e7d0b75fd8995d;hp=2a08e14b5558cd50cc95386b6d2339720ce8c7bb;hpb=93ec42221da8b677420bf11435e0d24d0503601b;p=pspp diff --git a/src/output/table.c b/src/output/table.c index 2a08e14b55..0667c06735 100644 --- a/src/output/table.c +++ b/src/output/table.c @@ -24,6 +24,7 @@ #include "libpspp/cast.h" #include "libpspp/compiler.h" +#include "output/table-item.h" #include "gl/xalloc.h" @@ -320,6 +321,7 @@ table_string_get_cell (const struct table *ts_, int x UNUSED, int y UNUSED, 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; } @@ -344,19 +346,28 @@ static const struct table_class table_string_class = 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; } @@ -371,7 +382,7 @@ static void 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); } @@ -388,6 +399,7 @@ table_nested_get_cell (const struct table *tn_, int x UNUSED, int y UNUSED, 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; }