--- lbbs/src/article_cache.c 2025/06/02 10:33:25 1.10 +++ lbbs/src/article_cache.c 2025/06/02 15:12:26 1.11 @@ -115,8 +115,6 @@ int article_cache_generate(const char *c header_len = strnlen(header, sizeof(header)); footer_len = strnlen(footer, sizeof(footer)); - cache.data_len = header_len + strlen(content); - header_line_cnt = split_data_lines(header, SCREEN_COLS, cache.line_offsets, MAX_SPLIT_FILE_LINES); if (header_len != cache.line_offsets[header_line_cnt]) @@ -128,6 +126,8 @@ int article_cache_generate(const char *c cache.line_total = header_line_cnt + split_data_lines(content, SCREEN_COLS, cache.line_offsets + header_line_cnt, MAX_SPLIT_FILE_LINES - header_line_cnt); + cache.data_len = header_len + strlen(content); + if (cache.data_len - header_len != (size_t)cache.line_offsets[cache.line_total]) { log_std("Body of article(aid=%d) is truncated from %ld to %ld\n",