output: Factor common code for command name tracking out of all drivers.
[pspp] / src / output / csv.c
index d463a3f6de3546b9be239c173c15b305673d1475..ef49759566d9b27829a2d8011d271c149e9ef6f9 100644 (file)
@@ -51,7 +51,6 @@ struct csv_driver
     bool captions;              /* Print table captions? */
 
     struct file_handle *handle;
-    char *command_name;         /* Current command. */
     FILE *file;                 /* Output file. */
     int n_items;                /* Number of items output so far. */
   };
@@ -177,8 +176,6 @@ csv_submit (struct output_driver *driver,
 {
   struct csv_driver *csv = csv_driver_cast (driver);
 
-  output_driver_track_current_command (output_item, &csv->command_name);
-
   if (is_table_item (output_item))
     {
       struct table_item *table_item = to_table_item (output_item);
@@ -322,7 +319,7 @@ csv_submit (struct output_driver *driver,
     {
       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, csv->command_name);
+      char *s = msg_to_string (msg, message_item->command_name);
       csv_put_separator (csv);
       csv_output_field (csv, s);
       free (s);