- avl_traverser_init (iter);
- while (NULL != (vl = avl_traverse (v->val_lab, &iter)))
- if (!write_value (h, &vl->v, v)
- || !write_string (h, vl->s))
- return 0;
+ for (vl = val_labs_first_sorted (v->val_labs, &j); vl != NULL;
+ vl = val_labs_next (v->val_labs, &j))
+ if (!write_value (h, &vl->value, v)
+ || !write_string (h, vl->label))
+ {
+ val_labs_done (&j);
+ return 0;
+ }