* q2c.c: Change DEBUGGING macro to DUMP_TOKENS for clarity and to
[pspp-builds.git] / src / language / stats / regression.q
index 11a1f211c87c35889413634a652ab715825c5b8a..d5536e80b58ce78d650f48ee0598a007fae0f498 100644 (file)
@@ -505,14 +505,17 @@ static void
 subcommand_save (int save, pspp_linreg_cache *lc, const struct casefile *cf, int *is_missing)
 {
   int i;
-  int k;
   int case_num;
   double residual;
-  const union value **vals;
+  const union value **vals = NULL;
+  const union value *obs = NULL;
   struct casereader *r;
   struct ccase c;
 
   assert (lc != NULL);
+  assert (lc->depvar != NULL);
+  assert (is_missing != NULL);
+
   if (save)
     {
       vals = xnmalloc (n_variables, sizeof (*vals));
@@ -525,8 +528,13 @@ subcommand_save (int save, pspp_linreg_cache *lc, const struct casefile *cf, int
              for (i = 0; i < n_variables; ++i)
                {
                  vals[i] = case_data (&c, v_variables[i]->fv);
+                 if (v_variables[i]->index == lc->depvar->index)
+                   {
+                     obs = vals[i];
+                   }
                }
-             residual = (*lc->predict) (v_variables, vals, lc, n_variables);
+             residual = (*lc->residual) ((const struct variable **) v_variables, 
+                                         (const union value **) vals, obs, lc, n_variables);
            }
        }
       free (vals);