--- lbbs/src/str_process.c 2025/05/28 05:46:27 1.10 +++ lbbs/src/str_process.c 2025/06/11 04:27:48 1.12 @@ -25,23 +25,17 @@ int split_line(const char *buffer, int m int i; *p_eol = 0; *p_display_len = 0; + char c; for (i = 0; buffer[i] != '\0'; i++) { - char c = buffer[i]; + c = buffer[i]; if (c == '\r' || c == '\7') // skip { continue; } - if (c == '\n') - { - i++; - *p_eol = 1; - break; - } - if (c == '\033' && buffer[i + 1] == '[') // Skip control sequence { i += 2; @@ -68,6 +62,14 @@ int split_line(const char *buffer, int m break; } (*p_display_len)++; + + // \n is regarded as 1 character wide in terminal editor, which is different from Web version + if (c == '\n') + { + i++; + *p_eol = 1; + break; + } } }