(popup_message): Refer to files that contain commands as "syntax"
[pspp] / src / language / stats / regression.q
index c10cc59e1f75409cea4bdd54153133024c0e1ff8..7b02e4b9dcfdaed3dc669efdbc5129071cc28d97 100644 (file)
@@ -968,6 +968,8 @@ cmd_regression (struct lexer *lexer, struct dataset *ds)
   subcommand_save (ds, cmd.sbc_save, models);
   free (v_variables);
   free (models);
+  free_regression (&cmd);
+
   return ok ? CMD_SUCCESS : CMD_FAILURE;
 }
 
@@ -1136,7 +1138,10 @@ run_regression (struct casereader *input, struct cmd_regression *cmd,
   assert (models != NULL);
 
   if (!casereader_peek (input, 0, &c))
-    return true;
+    {
+      casereader_destroy (input);
+      return true;
+    }
   output_split_file_values (ds, &c);
   case_destroy (&c);
 
@@ -1196,8 +1201,6 @@ run_regression (struct casereader *input, struct cmd_regression *cmd,
              lopts.get_indep_mean_std[i] = 1;
            }
          models[k] = pspp_linreg_cache_alloc (X->m->size1, X->m->size2);
-         models[k]->indep_means = gsl_vector_alloc (X->m->size2);
-         models[k]->indep_std = gsl_vector_alloc (X->m->size2);
          models[k]->depvar = dep_var;
          /*
             For large data sets, use QR decomposition.