The following is an example of the bad behavior:
# fss_extended_write -oc A B -oc C D -oc E F
A B D
C F
E
The expected behavior instead should be:
# fss_extended_write -oc A B -oc C D -oc E F
A B
C D
E F
The problem is that when "-oc" is used for the next set that object and content parameter have the same parameter index position.
The operator for testing for this should therefore be ">=" rather than ">".
content_current = main->parameters.array[fss_extended_write_parameter_content_e].locations.array[j];
if (i + 1 < main->parameters.array[fss_extended_write_parameter_object_e].values.used) {
- if (content_current < object_current || content_current > object_next) break;
+ if (content_current < object_current || content_current >= object_next) break;
}
status = f_string_dynamics_increase_by(F_fss_default_allocation_step_d, &contents);