X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fcsv.c;h=0067c61202e306c41fd36e0d991ae94f919536cd;hb=6fd821e557390a8f86f37c192fd1a4c4e057c9c3;hp=17c26a062605f96523b96e9cb17ed5ca893a0f0b;hpb=a1b7813a6993b8a8822914a83982a52e98c2afe5;p=pspp diff --git a/src/output/csv.c b/src/output/csv.c index 17c26a0626..0067c61202 100644 --- a/src/output/csv.c +++ b/src/output/csv.c @@ -211,33 +211,22 @@ csv_submit (struct output_driver *driver, if (x != cell.d[TABLE_HORZ][0] || y != cell.d[TABLE_VERT][0]) csv_output_field (csv, ""); - else if (cell.n_contents == 1 - && cell.contents[0].text != NULL - && cell.contents[0].n_footnotes == 0) - csv_output_field (csv, cell.contents[0].text); + else if (!(cell.options & TAB_MARKUP) && !cell.n_footnotes) + csv_output_field (csv, cell.text); else { - struct string s; - size_t i; + struct string s = DS_EMPTY_INITIALIZER; - ds_init_empty (&s); - for (i = 0; i < cell.n_contents; i++) + if (cell.options & TAB_MARKUP) { - const struct cell_contents *c = &cell.contents[i]; - - if (i > 0) - ds_put_cstr (&s, "\n\n"); - - if (c->options & TAB_MARKUP) - { - char *t = output_get_text_from_markup (c->text); - ds_put_cstr (&s, t); - free (t); - } - else - ds_put_cstr (&s, c->text); - csv_format_footnotes (c->footnotes, c->n_footnotes, &s); + char *t = output_get_text_from_markup (cell.text); + ds_put_cstr (&s, t); + free (t); } + else + ds_put_cstr (&s, cell.text); + + csv_format_footnotes (cell.footnotes, cell.n_footnotes, &s); csv_output_field (csv, ds_cstr (&s)); ds_destroy (&s); }