#ifdef HAVE_CAIRO
/* Colours for charts */
- struct xr_color fg;
- struct xr_color bg;
+ struct cell_color fg;
+ struct cell_color bg;
#endif
int width; /* Page width. */
{
for (size_t y = 0; y < n_lines; y++)
{
- struct u8_line *line = &a->lines[y];
+ if (y < a->allocated_lines)
+ {
+ struct u8_line *line = &a->lines[y];
- while (ds_chomp_byte (&line->s, ' '))
- continue;
- fwrite (ds_data (&line->s), 1, ds_length (&line->s), a->file);
+ while (ds_chomp_byte (&line->s, ' '))
+ continue;
+ fwrite (ds_data (&line->s), 1, ds_length (&line->s), a->file);
+ u8_line_clear (&a->lines[y]);
+ }
putc ('\n', a->file);
-
- u8_line_clear (&a->lines[y]);
}
}
}
static void
-ascii_output_text (struct ascii_driver *a, const char *text)
+ascii_output_table_item_unref (struct ascii_driver *a,
+ struct table_item *table_item)
{
- struct table_item *table_item;
-
- table_item = table_item_create (table_from_string (TABLE_HALIGN_LEFT, text),
- NULL, NULL);
ascii_output_table_item (a, table_item);
table_item_unref (table_item);
}
+static void
+ascii_output_text (struct ascii_driver *a, const char *text)
+{
+ ascii_output_table_item_unref (
+ a, table_item_create (table_from_string (text), NULL, NULL));
+}
+
static void
ascii_submit (struct output_driver *driver,
const struct output_item *output_item)
struct text_item *text_item;
text_item = text_item_create_format (
- TEXT_ITEM_PARAGRAPH, _("See %s for a chart."), file_name);
+ TEXT_ITEM_LOG, _("See %s for a chart."), file_name);
ascii_submit (driver, &text_item->output_item);
text_item_unref (text_item);
const struct text_item *text_item = to_text_item (output_item);
enum text_item_type type = text_item_get_type (text_item);
- switch (type)
- {
- case TEXT_ITEM_PAGE_TITLE:
- case TEXT_ITEM_BLANK_LINE:
- break;
-
- case TEXT_ITEM_EJECT_PAGE:
- break;
-
- default:
- ascii_output_table_item (a, text_item_to_table_item (text_item_ref (text_item)));
- break;
- }
+ if (type != TEXT_ITEM_PAGE_TITLE && type != TEXT_ITEM_EJECT_PAGE)
+ ascii_output_table_item_unref (
+ a, text_item_to_table_item (text_item_ref (text_item)));
}
else if (is_message_item (output_item))
{