X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Ftex.c;h=de111ec13f47b74177b0a48aed47046a59053e39;hb=69b31e124aff05df3492e6e6412c03c64e4e9d12;hp=698abaa453347e04cb877fd44bc8ea19a9707362;hpb=5ce9c6ba1502e623ec6723a8273da77e5858b8d4;p=pspp diff --git a/src/output/tex.c b/src/output/tex.c index 698abaa453..de111ec13f 100644 --- a/src/output/tex.c +++ b/src/output/tex.c @@ -75,7 +75,7 @@ struct tex_driver char *chart_file_name; FILE *file; - size_t chart_cnt; + size_t n_charts; struct ll_list preamble_list; struct ll_list token_list; @@ -131,7 +131,7 @@ tex_create (struct file_handle *fh, enum settings_output_devices device_type, tex->handle = fh; tex->chart_file_name = parse_chart_file_name (opt (d, o, "charts", fh_get_file_name (fh))); - tex->chart_cnt = 1; + tex->n_charts = 1; tex->bg = parse_color (opt (d, o, "background-color", "#FFFFFFFFFFFF")); tex->fg = parse_color (opt (d, o, "foreground-color", "#000000000000")); @@ -175,7 +175,11 @@ post_process_tokens (FILE *file, struct ll_list *list) if (nt->cat == CAT_SPACE || nt->cat == CAT_EOL) break; if (prev_x && (prev_x->cat == CAT_COMMENT) && (nt->cat != CAT_COMMENT)) - break; + { + ds_destroy (&prev_x->str); + free (prev_x); + break; + } word_len += ds_length (&nt->str); prev_x = nt; } @@ -184,6 +188,11 @@ post_process_tokens (FILE *file, struct ll_list *list) { fputs ("\n", file); line_len = 0; + if (tt) + { + ds_destroy (&tt->str); + free (tt); + } continue; } } @@ -314,7 +323,7 @@ tex_submit (struct output_driver *driver, const struct output_item *item) { char *file_name = xr_draw_png_chart (item->chart, tex->chart_file_name, - tex->chart_cnt++, + tex->n_charts++, &tex->fg, &tex->bg); if (file_name != NULL) { @@ -329,12 +338,12 @@ tex_submit (struct output_driver *driver, const struct output_item *item) break; case OUTPUT_ITEM_GROUP: - NOT_REACHED (); + break; case OUTPUT_ITEM_IMAGE: { char *file_name = xr_write_png_image ( - item->image, tex->chart_file_name, tex->chart_cnt++); + item->image, tex->chart_file_name, tex->n_charts++); if (file_name != NULL) { shipout (&tex->token_list, "\\includegraphics{%s}\n", file_name);