- sort (&v[prev_nv], nv - prev_nv, sizeof *v,
- compare_variables_given_ordering, &ordering);
+
+ if (!ordering.positional)
+ sort (&v[prev_nv], nv - prev_nv, sizeof *v,
+ compare_variables_given_ordering, &ordering);
+ else if (!ordering.forward)
+ reverse_array(&v[prev_nv], nv - prev_nv, sizeof *v);