+ struct value_node *valnd = NULL;
+ struct value_node **array ;
+
+ assert (vn->n_vals == hmap_count (&vn->valmap));
+
+ if (vn->n_vals == 0)
+ {
+ cat->sane = false;
+ return;
+ }
+
+ /* Sort the VALMAP here */
+ array = xcalloc (sizeof *array, vn->n_vals);
+ x = 0;
+ HMAP_FOR_EACH (valnd, struct value_node, node, &vn->valmap)
+ {
+ /* Note: This loop is probably superfluous, it could be done in the
+ update stage (at the expense of a realloc) */
+ array[x++] = valnd;
+ }
+
+ sort (array, vn->n_vals, sizeof (*array),
+ compare_value_node_3way, vn);