case: Introduce new functions for numbers and substrings in cases.
[pspp] / src / math / categoricals.c
index 3f9dc0097539eb5b72137866bab815e70e5d99f1..28d51a9dd704f5bc3a8937b496f05ac0e9cda94c 100644 (file)
@@ -367,7 +367,7 @@ categoricals_update (struct categoricals *cat, const struct ccase *c)
   assert (!cat->cat_to_iact);
 
   double weight;
-  weight = cat->wv ? case_data (c, cat->wv)->f : 1.0;
+  weight = cat->wv ? case_num (c, cat->wv) : 1.0;
   weight = var_force_valid_weight (cat->wv, weight, NULL);
 
   /* Update the frequency table for each variable. */
@@ -383,7 +383,7 @@ categoricals_update (struct categoricals *cat, const struct ccase *c)
         {
           valn = pool_malloc (cat->pool, sizeof *valn);
           valn->index = -1;
-          value_init (&valn->val, width);
+          value_init_pool (cat->pool, &valn->val, width);
           value_copy (&valn->val, val, width);
           hmap_insert (&vn->valmap, &valn->node, hash);
         }
@@ -480,7 +480,7 @@ categoricals_done (const struct categoricals *cat_)
           return;
         }
 
-      struct value_node **nodes = xcalloc (sizeof *nodes, n_vals);
+      struct value_node **nodes = XCALLOC (n_vals,  struct value_node *);
       int x = 0;
       struct value_node *valnd;
       HMAP_FOR_EACH (valnd, struct value_node, node, &vn->valmap)