print_object = &fl_print_trim_except_dynamic_partial;
}
+ if (data->main->parameters.array[fss_embedded_list_read_parameter_line_e].result == f_console_result_additional_e) {
+ f_array_length_t line_current = 0;
+ uint8_t newline_missing = F_true;
+
+ flockfile(data->main->output.to.stream);
+
+ for (; i < items->used; ++i) {
+
+ if (skip[i]) continue;
+
+ // Handle Object begin.
+ if (line_current++ == line) {
+ print_object(data->buffer, items->array[i].object, *objects_delimits, data->main->output.to.stream);
+ fss_embedded_list_read_print_object_end(data);
+
+ break;
+ }
+
+ if (data->main->parameters.array[fss_embedded_list_read_parameter_content_e].result == f_console_result_found_e) {
+ if (items->array[i].content.used) {
+ j = items->array[i].content.array[0].start;
+
+ if (line_current != line) {
+ newline_missing = F_true;
+
+ for (; j <= items->array[i].content.array[0].stop; ++j) {
+
+ if (data->buffer.string[j] == f_string_eol_s.string[0]) {
+ if (++line_current == line) {
+ ++j;
+ newline_missing = F_false;
+
+ break;
+ }
+ }
+ } // for
+ }
+
+ if (line_current == line) {
+
+ // If the matched line is after the stop, then this matches the end of Object line.
+ if (j > items->array[i].content.array[0].stop) {
+ fss_embedded_list_read_print_set_end(data);
+ }
+ else {
+ for (; j <= items->array[i].content.array[0].stop; ++j) {
+
+ if (!data->buffer.string[j]) continue;
+
+ if (data->buffer.string[j] == f_string_eol_s.string[0]) {
+ f_print_dynamic_raw(f_string_eol_s, data->main->output.to.stream);
+
+ break;
+ }
+
+ f_print_character(data->buffer.string[j], data->main->output.to.stream);
+ } // for
+ }
+
+ break;
+ }
+
+ // The content always ends on a new line so if it is missing from the Content then treat the end of Content as a new line.
+ if (newline_missing) ++line_current;
+ }
+ else {
+
+ // Handle the Object end.
+ if (line_current++ == line) {
+ fss_embedded_list_read_print_set_end(data);
+
+ break;
+ }
+ }
+ }
+ } // for
+
+ funlockfile(data->main->output.to.stream);
+
+ return F_none;
+ }
+
flockfile(data->main->output.to.stream);
for (i = 0; i < items->used; ++i) {