X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Foutput%2Fascii.c;h=9a08a893317d656b588696e800ed5d179e001661;hb=166eb5966a9a6908cfa60830a79d85b074eec53d;hp=29cc73b81115dcb1f5d0216c49919dcd93640abd;hpb=61b107f4f5e3ee7a468c91bc7fa269e268c5bc84;p=pspp diff --git a/src/output/ascii.c b/src/output/ascii.c index 29cc73b811..9a08a89331 100644 --- a/src/output/ascii.c +++ b/src/output/ascii.c @@ -54,6 +54,8 @@ #include "output/driver-provider.h" #include "output/message-item.h" #include "output/options.h" +#include "output/pivot-output.h" +#include "output/pivot-table.h" #include "output/render.h" #include "output/table-item.h" #include "output/text-item.h" @@ -558,21 +560,22 @@ static void ascii_output_table_item (struct ascii_driver *a, const struct table_item *table_item) { - struct render_pager *p; - update_page_size (a, false); - if (a->object_cnt++) - putc ('\n', a->file); - - p = render_pager_create (&a->params, table_item); - for (int i = 0; render_pager_has_next (p); i++) + size_t *layer_indexes; + PIVOT_OUTPUT_FOR_EACH_LAYER (layer_indexes, table_item->pt, true) { - if (i) - putc ('\n', a->file); - ascii_output_lines (a, render_pager_draw_next (p, INT_MAX)); + struct render_pager *p = render_pager_create (&a->params, table_item, + layer_indexes); + for (int i = 0; render_pager_has_next (p); i++) + { + if (a->object_cnt++) + putc ('\n', a->file); + + ascii_output_lines (a, render_pager_draw_next (p, INT_MAX)); + } + render_pager_destroy (p); } - render_pager_destroy (p); } static void @@ -608,8 +611,10 @@ ascii_submit (struct output_driver *driver, { struct text_item *text_item; - text_item = text_item_create_format ( - TEXT_ITEM_LOG, _("See %s for a chart."), file_name); + text_item = text_item_create_nocopy ( + TEXT_ITEM_LOG, + xasprintf (_("See %s for a chart."), file_name), + NULL); ascii_submit (driver, &text_item->output_item); text_item_unref (text_item);