treewide: Replace <name>_cnt by n_<name>s and <name>_cap by allocated_<name>.
[pspp] / src / output / ascii.c
index 7b888d06ec5e02886359742e9c039b976a30dce1..6535121d8c0418bcc17686a3985fd00643a7a605 100644 (file)
 #include <uniwidth.h>
 
 #ifdef HAVE_TERMIOS_H
-# include <termios.h>
-#endif
-
-#ifdef GWINSZ_IN_SYS_IOCTL
 # include <sys/ioctl.h>
+# include <termios.h>
 #endif
 
 #include "data/file-name.h"
@@ -313,8 +310,8 @@ struct ascii_driver
     bool error;                 /* Output error? */
     struct u8_line *lines;      /* Page content. */
     int allocated_lines;        /* Number of lines allocated. */
-    int chart_cnt;              /* Number of charts so far. */
-    int object_cnt;             /* Number of objects so far. */
+    int n_charts;               /* Number of charts so far. */
+    int n_objects;              /* Number of objects so far. */
     const struct pivot_table *pt;
     struct render_params params;
   };
@@ -373,9 +370,7 @@ ascii_create (struct  file_handle *fh, enum settings_output_devices device_type,
 {
   enum { BOX_ASCII, BOX_UNICODE } box;
   struct output_driver *d;
-  struct ascii_driver *a;
-
-  a = xzalloc (sizeof *a);
+  struct ascii_driver *a = XZALLOC (struct ascii_driver);
   d = &a->driver;
   output_driver_init (&a->driver, &ascii_driver_class, fh_get_file_name (fh), device_type);
   a->append = parse_boolean (opt (d, o, "append", "false"));
@@ -408,8 +403,8 @@ ascii_create (struct  file_handle *fh, enum settings_output_devices device_type,
   a->error = false;
   a->lines = NULL;
   a->allocated_lines = 0;
-  a->chart_cnt = 0;
-  a->object_cnt = 0;
+  a->n_charts = 0;
+  a->n_objects = 0;
 
   static const struct render_ops ascii_render_ops = {
     .draw_line = ascii_draw_line,
@@ -564,7 +559,7 @@ ascii_output_table_item (struct ascii_driver *a,
                                                     layer_indexes);
       for (int i = 0; render_pager_has_next (p); i++)
         {
-          if (a->object_cnt++)
+          if (a->n_objects++)
             putc ('\n', a->file);
 
           ascii_output_lines (a, render_pager_draw_next (p, INT_MAX));
@@ -584,11 +579,9 @@ ascii_output_table_item_unref (struct ascii_driver *a,
 }
 
 static void
-ascii_submit (struct output_driver *driver,
-              const struct output_item *item)
+ascii_submit (struct output_driver *driver, const struct output_item *item)
 {
   struct ascii_driver *a = ascii_driver_cast (driver);
-
   if (a->error)
     return;
 
@@ -602,7 +595,7 @@ ascii_submit (struct output_driver *driver,
       if (a->chart_file_name != NULL)
         {
           char *file_name = xr_write_png_image (
-            item->image, a->chart_file_name, ++a->chart_cnt);
+            item->image, a->chart_file_name, ++a->n_charts);
           if (file_name != NULL)
             {
               struct output_item *text_item = text_item_create_nocopy (
@@ -620,9 +613,8 @@ ascii_submit (struct output_driver *driver,
     case OUTPUT_ITEM_CHART:
       if (a->chart_file_name != NULL)
         {
-          char *file_name = xr_draw_png_chart (item->chart, a->chart_file_name,
-                                               ++a->chart_cnt, &a->fg,
-                                               &a->bg);
+          char *file_name = xr_draw_png_chart (
+            item->chart, a->chart_file_name, ++a->n_charts, &a->fg, &a->bg);
           if (file_name != NULL)
             {
               struct output_item *text_item = text_item_create_nocopy (
@@ -647,13 +639,13 @@ ascii_submit (struct output_driver *driver,
       ascii_output_table_item_unref (
         a, text_item_to_table_item (
           message_item_to_text_item (
-              output_item_ref (item))));
+            output_item_ref (item))));
+      break;
+
+    case OUTPUT_ITEM_GROUP:
       break;
 
-    case OUTPUT_ITEM_GROUP_OPEN:
-    case OUTPUT_ITEM_GROUP_CLOSE:
     case OUTPUT_ITEM_PAGE_BREAK:
-    case OUTPUT_ITEM_PAGE_SETUP:
       break;
     }
 }
@@ -665,10 +657,10 @@ const struct output_driver_factory list_driver_factory =
 
 static const struct output_driver_class ascii_driver_class =
   {
-    "text",
-    ascii_destroy,
-    ascii_submit,
-    ascii_flush,
+    .name = "text",
+    .destroy = ascii_destroy,
+    .submit = ascii_submit,
+    .flush = ascii_flush,
   };
 \f
 static char *ascii_reserve (struct ascii_driver *, int y, int x0, int x1,
@@ -1039,8 +1031,8 @@ ascii_test_write (struct output_driver *driver,
     .underline = underline,
   };
   const struct pivot_value value = {
-    .type = PIVOT_VALUE_TEXT,
     .text = {
+      .type = PIVOT_VALUE_TEXT,
       .local = CONST_CAST (char *, s),
       .c = CONST_CAST (char *, s),
       .id = CONST_CAST (char *, s),