When -a, -n, and -l are used at the same time, the line position ends up being the wrong position within the file.
The -l (--line) should be relative to the --at index relative to the --name given.
This turned out to be a simple mistake where the wrong variable was being passed.
if (data->option & fss_basic_list_read_data_option_line) {
f_array_length_t line = 0;
- status = fss_basic_list_read_process_at_line(at, *delimits_object, *delimits_content, main, data, &line);
+ status = fss_basic_list_read_process_at_line(i, *delimits_object, *delimits_content, main, data, &line);
if (status == F_success) return F_none;
}
else if (data->option & fss_basic_list_read_data_option_columns) {
if (data->option & fss_extended_list_read_data_option_line) {
f_array_length_t line = 0;
- status = fss_extended_list_read_process_at_line(at, *delimits_object, *delimits_content, main, data, &line);
+ status = fss_extended_list_read_process_at_line(i, *delimits_object, *delimits_content, main, data, &line);
if (status == F_success) return F_none;
}
else if (data->option & fss_extended_list_read_data_option_columns) {