X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fhtml.c;h=989752b627fc9c54dcbf59410c5729769a96488c;hb=0f8c9c6c05632de5cadc70ca5381c1d9cb46960e;hp=a3e14ba1f1ef27240b514cbe3c9985a6d00b350f;hpb=f51ecb48027e6b1eb46840ae25888a25b429f012;p=pspp-builds.git diff --git a/src/output/html.c b/src/output/html.c index a3e14ba1..989752b6 100644 --- a/src/output/html.c +++ b/src/output/html.c @@ -23,19 +23,21 @@ #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include "data/file-name.h" +#include "libpspp/assertion.h" +#include "libpspp/cast.h" +#include "libpspp/compiler.h" +#include "libpspp/message.h" +#include "libpspp/version.h" +#include "output/cairo.h" +#include "output/chart-item.h" +#include "output/driver-provider.h" +#include "output/message-item.h" +#include "output/options.h" +#include "output/output-item-provider.h" +#include "output/table-provider.h" +#include "output/table-item.h" +#include "output/text-item.h" #include "error.h" #include "xalloc.h" @@ -50,6 +52,7 @@ struct html_driver char *file_name; char *chart_file_name; + char *command_name; FILE *file; size_t chart_cnt; @@ -100,7 +103,7 @@ html_create (const char *file_name, enum settings_output_devices device_type, html->file = fn_open (html->file_name, "w"); if (html->file == NULL) { - error (0, errno, _("opening HTML output file: %s"), html->file_name); + error (0, errno, _("error opening output file \"%s\""), html->file_name); goto error; } @@ -210,6 +213,7 @@ html_destroy (struct output_driver *driver) } free (html->chart_file_name); free (html->file_name); + free (html->command_name); free (html); } @@ -226,6 +230,8 @@ html_submit (struct output_driver *driver, { struct html_driver *html = html_driver_cast (driver); + output_driver_track_current_command (output_item, &html->command_name); + if (html->in_syntax && !is_syntax_item (output_item)) { fprintf (html->file, "\n"); @@ -237,6 +243,7 @@ html_submit (struct output_driver *driver, struct table_item *table_item = to_table_item (output_item); html_output_table (html, table_item); } +#ifdef HAVE_CAIRO else if (is_chart_item (output_item) && html->chart_file_name != NULL) { struct chart_item *chart_item = to_chart_item (output_item); @@ -250,6 +257,7 @@ html_submit (struct output_driver *driver, free (file_name); } } +#endif /* HAVE_CAIRO */ else if (is_text_item (output_item)) { struct text_item *text_item = to_text_item (output_item); @@ -313,6 +321,14 @@ html_submit (struct output_driver *driver, break; } } + else if (is_message_item (output_item)) + { + const struct message_item *message_item = to_message_item (output_item); + const struct msg *msg = message_item_get_msg (message_item); + char *s = msg_to_string (msg, html->command_name); + print_title_tag (html->file, "P", s); + free (s); + } } /* Write LENGTH characters in TEXT to file F, escaping characters