+static void
+csv_format_footnotes (const struct footnote **f, size_t n, struct string *s)
+{
+ for (size_t i = 0; i < n; i++)
+ ds_put_format (s, "[%s]", f[i]->marker);
+}
+
+static void
+csv_output_table_item_text (struct csv_driver *csv,
+ const struct table_item_text *text,
+ const char *leader)
+{
+ if (!text)
+ return;
+
+ struct string s = DS_EMPTY_INITIALIZER;
+ ds_put_format (&s, "%s: %s", leader, text->content);
+ csv_format_footnotes (text->footnotes, text->n_footnotes, &s);
+ csv_output_field (csv, ds_cstr (&s));
+ ds_destroy (&s);
+ putc ('\n', csv->file);