- unsigned int width = var_get_width (cat->vars[i]);
- const union value *val = case_data (c, cat->vars[i]);
- size_t hash = value_hash (val, width, 0);
+ const struct variable *var = cat->vp[i].var;
+ unsigned int width = var_get_width (var);
+ const union value *val = case_data (c, var);
+ size_t hash;
+ struct value_node *node ;
+
+ if ( var_is_value_missing (var, val, cat->exclude))
+ continue;
+
+ hash = value_hash (val, width, 0);
+ node = lookup_value (&cat->vp[i].map, var, val);