(case_compare) Implement as delegating to case_compare_2dict().
[pspp-builds.git] / src / case.c
index 3e35e973c33a0a4d9d350f5b88eb8a477bd95e95..fee69d4d2b24056d9f7351b97df88e9df0b6ae8f 100644 (file)
@@ -356,32 +356,9 @@ int
 case_compare (const struct ccase *a, const struct ccase *b,
               struct variable *const *vp, size_t var_cnt)
 {
-  for (; var_cnt-- > 0; vp++) 
-    {
-      struct variable *v = *vp;
-
-      if (v->width == 0) 
-        {
-          double af = case_num (a, v->fv);
-          double bf = case_num (b, v->fv);
-
-          if (af != bf) 
-            return af > bf ? 1 : -1;
-        }
-      else 
-        {
-          const char *as = case_str (a, v->fv);
-          const char *bs = case_str (b, v->fv);
-          int cmp = memcmp (as, bs, v->width);
-
-          if (cmp != 0)
-            return cmp;
-        }
-    }
-  return 0;
+  return case_compare_2dict (a, b, vp, vp, var_cnt);
 }
 
-
 /* Compares the values of the VAR_CNT variables in VAP in case CA
    to the values of the VAR_CNT variables in VBP in CB
    and returns a strcmp()-type result. */