Change how checking for missing values works.
[pspp] / src / math / covariance.c
index dec5ee87ccb86e1db1b507847c64bc4f6f2aa820..79fce25cef28362dbe7b404377d436e92727111c 100644 (file)
@@ -145,7 +145,7 @@ covariance_1pass_create (size_t n_vars, const struct variable *const *vars,
                         bool centered)
 {
   size_t i;
-  struct covariance *cov = xzalloc (sizeof *cov);
+  struct covariance *cov = XZALLOC (struct covariance);
 
   cov->centered = centered;
   cov->passes = 1;
@@ -262,7 +262,7 @@ is_missing (const struct covariance *cov, int i, const struct ccase *c)
 
   const union value *val = case_data (c, var);
 
-  return var_is_value_missing (var, val, cov->exclude);
+  return (var_is_value_missing (var, val) & cov->exclude) != 0;
 }