Changed a lot of ints to bools.
[pspp-builds.git] / src / language / stats / aggregate.c
index 2497d064b2226cf6bf7a9705e165dd9be29fc45f..788b19b01097df7adbf117998320294deacf95e8 100644 (file)
 #include <language/command.h>
 #include <language/data-io/file-handle.h>
 #include <language/lexer/lexer.h>
+#include <language/lexer/variable-parser.h>
 #include <language/stats/sort-criteria.h>
 #include <libpspp/alloc.h>
-#include <libpspp/message.h>
+#include <libpspp/assertion.h>
 #include <libpspp/message.h>
 #include <libpspp/misc.h>
 #include <libpspp/pool.h>
@@ -153,9 +154,9 @@ static void initialize_aggregate_info (struct agr_proc *,
                                        const struct ccase *);
 
 /* Prototypes. */
-static int parse_aggregate_functions (struct agr_proc *);
+static bool parse_aggregate_functions (struct agr_proc *);
 static void agr_destroy (struct agr_proc *);
-static int aggregate_single_case (struct agr_proc *agr,
+static bool aggregate_single_case (struct agr_proc *agr,
                                   const struct ccase *input,
                                   struct ccase *output);
 static void dump_aggregate_info (struct agr_proc *agr, struct ccase *output);
@@ -350,7 +351,7 @@ error:
 }
 
 /* Parse all the aggregate functions. */
-static int
+static bool
 parse_aggregate_functions (struct agr_proc *agr)
 {
   struct agr_var *tail; /* Tail of linked list starting at agr->vars. */
@@ -404,7 +405,7 @@ parse_aggregate_functions (struct agr_proc *agr)
          if (token == T_STRING)
            {
              ds_truncate (&tokstr, 255);
-             dest_label[n_dest - 1] = xstrdup (ds_c_str (&tokstr));
+             dest_label[n_dest - 1] = ds_xstrdup (&tokstr);
              lex_get ();
            }
        }
@@ -472,7 +473,7 @@ parse_aggregate_functions (struct agr_proc *agr)
                lex_match (',');
                if (token == T_STRING)
                  {
-                   arg[i].c = xstrdup (ds_c_str (&tokstr));
+                   arg[i].c = ds_xstrdup (&tokstr);
                    type = ALPHA;
                  }
                else if (lex_is_number ())
@@ -641,10 +642,10 @@ parse_aggregate_functions (struct agr_proc *agr)
       if (!lex_match ('/'))
        {
          if (token == '.')
-           return 1;
+           return true;
 
          lex_error ("expecting end of command");
-         return 0;
+         return false;
        }
       continue;
       
@@ -666,7 +667,7 @@ parse_aggregate_functions (struct agr_proc *agr)
          }
       free (src);
        
-      return 0;
+      return false;
     }
 }
 
@@ -712,9 +713,9 @@ static void accumulate_aggregate_info (struct agr_proc *,
 static void dump_aggregate_info (struct agr_proc *, struct ccase *);
 
 /* Processes a single case INPUT for aggregation.  If output is
-   warranted, writes it to OUTPUT and returns nonzero.
-   Otherwise, returns zero and OUTPUT is unmodified. */
-static int
+   warranted, writes it to OUTPUT and returns true.
+   Otherwise, returns false and OUTPUT is unmodified. */
+static bool
 aggregate_single_case (struct agr_proc *agr,
                        const struct ccase *input, struct ccase *output)
 {
@@ -742,7 +743,7 @@ accumulate_aggregate_info (struct agr_proc *agr,
 {
   struct agr_var *iter;
   double weight;
-  int bad_warn = 1;
+  bool bad_warn = true;
 
   weight = dict_get_case_weight (default_dict, input, &bad_warn);
 
@@ -891,7 +892,7 @@ accumulate_aggregate_info (struct agr_proc *agr,
                caught earlier.  Nothing to do. */
             break;
          default:
-           assert (0);
+           NOT_REACHED ();
          }
     } else {
       switch (iter->function)
@@ -903,7 +904,7 @@ accumulate_aggregate_info (struct agr_proc *agr,
          iter->int1++;
          break;
        default:
-         assert (0);
+         NOT_REACHED ();
        }
     }
 }
@@ -1032,7 +1033,7 @@ dump_aggregate_info (struct agr_proc *agr, struct ccase *output)
            v->f = i->int1;
            break;
          default:
-           assert (0);
+           NOT_REACHED ();
          }
       }
   }