Add some missing #include directives
[pspp] / src / language / stats / crosstabs.c
index b6a5de51110d02fb360bfd0c84ae634002261ffa..32e1a7736acee63ef52e3d09390f6cb151fe919a 100644 (file)
@@ -59,6 +59,7 @@
 #include "output/charts/barchart.h"
 
 #include "gl/minmax.h"
+#include "gl/xalloc-oversized.h"
 #include "gl/xalloc.h"
 #include "gl/xsize.h"
 
@@ -664,9 +665,6 @@ parse_crosstabs_variables (struct lexer *lexer, struct dataset *ds,
   for (;;)
     {
       size_t orig_nv = proc->n_variables;
-      size_t i;
-
-      long min, max;
 
       if (!parse_variables_const (lexer, dataset_dict (ds),
                                   &proc->variables, &proc->n_variables,
@@ -679,26 +677,20 @@ parse_crosstabs_variables (struct lexer *lexer, struct dataset *ds,
 
       if (!lex_force_int (lexer))
        goto error;
-      min = lex_integer (lexer);
+      long min = lex_integer (lexer);
       lex_get (lexer);
 
       lex_match (lexer, T_COMMA);
 
-      if (!lex_force_int (lexer))
+      if (!lex_force_int_range (lexer, NULL, min, LONG_MAX))
        goto error;
-      max = lex_integer (lexer);
-      if (max < min)
-       {
-         msg (SE, _("Maximum value (%ld) less than minimum value (%ld)."),
-              max, min);
-         goto error;
-       }
+      long max = lex_integer (lexer);
       lex_get (lexer);
 
       if (!lex_force_match (lexer, T_RPAREN))
         goto error;
 
-      for (i = orig_nv; i < proc->n_variables; i++)
+      for (size_t i = orig_nv; i < proc->n_variables; i++)
         {
           const struct variable *var = proc->variables[i];
           struct var_range *vr = xmalloc (sizeof *vr);
@@ -1930,6 +1922,7 @@ display_risk (struct crosstabulation *xt, struct pivot_table *risk,
   union value c[2];
   if (!calc_risk (xt, risk_v, upper, lower, c, &n_valid))
     return;
+  assert (risk_statistics);
 
   size_t *indexes = xnmalloc (risk->n_dimensions, sizeof *indexes);
   assert (xt->n_vars == 2);
@@ -2964,9 +2957,3 @@ calc_directional (struct crosstabs_proc *proc, struct crosstabulation *xt,
 
   return 1;
 }
-
-/*
-   Local Variables:
-   mode: c
-   End:
-*/