+ HMAP_FOR_EACH (label, struct val_lab, node, &vls->labels)
+ if (!value_is_resizable (&label->value, vls->width, new_width))
+ return false;
+
+ return true;
+}
+
+/* Changes the width of VLS to NEW_WIDTH. The original and new
+ width must be both numeric or both string. */
+void
+val_labs_set_width (struct val_labs *vls, int new_width)
+{
+ assert (val_labs_can_set_width (vls, new_width));
+ if (value_needs_resize (vls->width, new_width))
+ {
+ struct val_lab *label;
+ HMAP_FOR_EACH (label, struct val_lab, node, &vls->labels)
+ value_resize (&label->value, vls->width, new_width);
+ }