X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fhtml.c;h=307f6c223d83bb3fea6040da6e7f04d8d30ada13;hb=refs%2Fheads%2Fspv3;hp=1027dea501037e5e74655ecb0a4d76b7c2357280;hpb=1abd7f599dd0d773add0a98fa3b612bc15aaf422;p=pspp diff --git a/src/output/html.c b/src/output/html.c index 1027dea501..307f6c223d 100644 --- a/src/output/html.c +++ b/src/output/html.c @@ -419,6 +419,22 @@ html_put_table_item_text (struct html_driver *html, html_put_footnote_markers (html, text->footnotes, text->n_footnotes); } +static void +html_put_table_item_layers (struct html_driver *html, + const struct table_item_layers *layers) +{ + for (size_t i = 0; i < layers->n_layers; i++) + { + if (i) + fputs ("
\n", html->file); + + const struct table_item_layer *layer = &layers->layers[i]; + escape_string (html->file, layer->content, strlen (layer->content), + " ", "
"); + html_put_footnote_markers (html, layer->footnotes, layer->n_footnotes); + } +} + static void html_output_table (struct html_driver *html, const struct table_item *item) { @@ -438,16 +454,15 @@ html_output_table (struct html_driver *html, const struct table_item *item) size_t n_footnotes = table_collect_footnotes (item, &f); for (size_t i = 0; i < n_footnotes; i++) - if (f[i]) - { - put_tfoot (html, t, &tfoot); - fputs ("", html->file); - escape_string (html->file, f[i]->marker, strlen (f[i]->marker), - " ", "
"); - fputs ("
", html->file); - escape_string (html->file, f[i]->content, strlen (f[i]->content), - " ", "
"); - } + { + put_tfoot (html, t, &tfoot); + fputs ("", html->file); + escape_string (html->file, f[i]->marker, strlen (f[i]->marker), + " ", "
"); + fputs ("
", html->file); + escape_string (html->file, f[i]->content, strlen (f[i]->content), + " ", "
"); + } free (f); if (tfoot) fputs ("\n", html->file); @@ -455,7 +470,7 @@ html_output_table (struct html_driver *html, const struct table_item *item) fputs ("\n", html->file); const struct table_item_text *title = table_item_get_title (item); - const struct table_item_text *layers = table_item_get_layers (item); + const struct table_item_layers *layers = table_item_get_layers (item); if (title || layers) { fputs (" ", html->file); @@ -464,7 +479,7 @@ html_output_table (struct html_driver *html, const struct table_item *item) if (title && layers) fputs ("
\n", html->file); if (layers) - html_put_table_item_text (html, layers); + html_put_table_item_layers (html, layers); fputs ("\n", html->file); }