X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fascii.c;h=afd915262478a8c9d9bc921181c469df4b56ecca;hb=c9c6d86621b611f04b9132400ead11681fb9df2b;hp=4978e125cc67829c1fd9356f838c3a39f4e36b52;hpb=23ebdca02083440bb1abc63fc81e0b5d1cdc9f8a;p=pspp-builds.git diff --git a/src/output/ascii.c b/src/output/ascii.c index 4978e125..afd91526 100644 --- a/src/output/ascii.c +++ b/src/output/ascii.c @@ -352,8 +352,15 @@ static void ascii_flush (struct output_driver *driver) { struct ascii_driver *a = ascii_driver_cast (driver); - if (a->file != NULL) - fflush (a->file); + if (a->y > 0) + { + ascii_close_page (a); + + if (fn_close (a->file_name, a->file) != 0) + error (0, errno, _("ascii: closing output file \"%s\""), + a->file_name); + a->file = NULL; + } } static void @@ -408,10 +415,7 @@ ascii_submit (struct output_driver *driver, } if (a->file == NULL) - { - ascii_open_page (a); - a->y = 0; - } + ascii_open_page (a); page = render_page_create (¶ms, table_item_get_table (table_item)); for (render_break_init (&x_break, page, H); @@ -435,7 +439,6 @@ ascii_submit (struct output_driver *driver, { assert (a->y > 0); ascii_close_page (a); - a->y = 0; ascii_open_page (a); continue; } @@ -915,4 +918,6 @@ ascii_close_page (struct ascii_driver *a) putc ('\n', a->file); if (a->paginate) putc ('\f', a->file); + + a->y = 0; }