+ /* Interate over each variable, and add the value of that variable
+ to the appropriate map, if it's not already present. */
+ HMAP_FOR_EACH (vn, struct variable_node, node, &cat->varmap)
+ {
+ const int width = var_get_width (vn->var);
+ const union value *val = case_data (c, vn->var);
+ unsigned int hash = value_hash (val, width, 0);
+
+ struct value_node *valn = lookup_value (&vn->valmap, val, hash, width);
+ if (valn == NULL)
+ {
+ valn = pool_malloc (cat->pool, sizeof *valn);
+ valn->index = vn->n_vals++;
+ value_init (&valn->val, width);
+ value_copy (&valn->val, val, width);
+ hmap_insert (&vn->valmap, &valn->node, hash);
+ }
+ }
+