X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Fmsglog.c;h=20cfe3a3b2a74384b9073a64bf8ea3daf9881189;hb=104503e3d1f3d6ad47ef06e5a9d42b18e0fa67cb;hp=9b606b4f18f1bde7cfdb478eac1bb3985334c7cb;hpb=f4bd801640ccaf1d41f45e0206e01e71d3e18604;p=pspp diff --git a/src/output/msglog.c b/src/output/msglog.c index 9b606b4f18..20cfe3a3b2 100644 --- a/src/output/msglog.c +++ b/src/output/msglog.c @@ -29,7 +29,7 @@ #include "libpspp/cast.h" #include "libpspp/message.h" #include "output/driver-provider.h" -#include "output/message-item.h" +#include "output/output-item.h" #include "gl/fwriteerror.h" #include "gl/xalloc.h" @@ -57,7 +57,6 @@ struct output_driver * msglog_create (const char *file_name) { enum settings_output_devices type; - struct msglog_driver *ml; FILE *file; struct file_handle *handle = fh_create_file (NULL, file_name, NULL, fh_default_properties ()); @@ -73,7 +72,7 @@ msglog_create (const char *file_name) ? SETTINGS_DEVICE_TERMINAL : SETTINGS_DEVICE_UNFILTERED); - ml = xzalloc (sizeof *ml); + struct msglog_driver *ml = XZALLOC (struct msglog_driver); ml->handle = handle; output_driver_init (&ml->driver, &msglog_class, file_name, type); ml->file = file; @@ -98,11 +97,9 @@ msglog_submit (struct output_driver *driver, const struct output_item *item) { struct msglog_driver *ml = msglog_driver_cast (driver); - if (is_message_item (item)) + if (item->type == OUTPUT_ITEM_MESSAGE) { - const struct message_item *message_item = to_message_item (item); - const struct msg *msg = message_item_get_msg (message_item); - char *s = msg_to_string (msg, message_item->command_name); + char *s = msg_to_string (item->message); fprintf (ml->file, "%s\n", s); free (s); } @@ -110,8 +107,7 @@ msglog_submit (struct output_driver *driver, const struct output_item *item) static const struct output_driver_class msglog_class = { - "msglog", - msglog_destroy, - msglog_submit, - NULL + .name = "msglog", + .destroy = msglog_destroy, + .submit = msglog_submit, };