--- lbbs/src/str_process.c 2025/06/21 02:15:18 1.18 +++ lbbs/src/str_process.c 2025/07/02 03:08:10 1.19 @@ -76,7 +76,8 @@ int split_line(const char *buffer, int m return i; } -long split_data_lines(const char *p_buf, int max_display_len, long *p_line_offsets, long line_offsets_count, int skip_ctrl_seq) +long split_data_lines(const char *p_buf, int max_display_len, long *p_line_offsets, long line_offsets_count, + int skip_ctrl_seq, int *p_line_widths) { int line_cnt = 0; int len; @@ -89,6 +90,11 @@ long split_data_lines(const char *p_buf, { len = split_line(p_buf, max_display_len, &end_of_line, &display_len, skip_ctrl_seq); + if (p_line_widths) + { + p_line_widths[line_cnt] = display_len; + } + // Exceed max_line_cnt if (line_cnt + 1 >= line_offsets_count) {