(run_regression): Move casereader_destroy call so that it always gets
authorBen Pfaff <blp@gnu.org>
Fri, 27 Jul 2007 21:44:18 +0000 (21:44 +0000)
committerBen Pfaff <blp@gnu.org>
Fri, 27 Jul 2007 21:44:18 +0000 (21:44 +0000)
called, not just if there was some valid data.  Fixes bug #19581.
Reviewed by Jason Stover.

src/language/stats/ChangeLog
src/language/stats/regression.q

index 78a256afcaa33066e17ea4cad5cd26d536853400..574b958d5309b40243143799f776b59eeeaa3adf 100644 (file)
@@ -1,3 +1,10 @@
+2007-07-27  Ben Pfaff  <blp@gnu.org>
+
+       * regression.q (run_regression): Move casereader_destroy call so
+       that it always gets called, not just if there was some valid
+       data.  Fixes bug #19581.
+       Reviewed by Jason Stover.
+
 2007-07-24  Ben Pfaff  <blp@gnu.org>
 
        * flip.c (struct flip_pgm): Remove `case_size' member (now
index 869f32a716ee0c719fc7e247f40f6015b58f285f..2c1c9aa8a0f5df9e2cf3d211fb5f23f54be2a487 100644 (file)
@@ -1211,7 +1211,6 @@ run_regression (struct casereader *input, struct cmd_regression *cmd,
                 }
           gsl_vector_set (Y, row, case_num (&c, dep_var));
             }
-          casereader_destroy (reader);
          /*
             Now that we know the number of coefficients, allocate space
             and store pointers to the variables that correspond to the
@@ -1238,6 +1237,7 @@ run_regression (struct casereader *input, struct cmd_regression *cmd,
        {
          msg (SE, gettext ("No valid data found. This command was skipped."));
        }
+      casereader_destroy (reader);
     }
   free (indep_vars);
   free (lopts.get_indep_mean_std);