| 14 |
* * |
* * |
| 15 |
***************************************************************************/ |
***************************************************************************/ |
| 16 |
|
|
|
#define _POSIX_C_SOURCE 200809L |
|
|
|
|
|
#include "article_post.h" |
|
| 17 |
#include "article_cache.h" |
#include "article_cache.h" |
| 18 |
#include "editor.h" |
#include "article_post.h" |
|
#include "screen.h" |
|
| 19 |
#include "bbs.h" |
#include "bbs.h" |
| 20 |
#include "log.h" |
#include "database.h" |
| 21 |
|
#include "editor.h" |
| 22 |
#include "io.h" |
#include "io.h" |
| 23 |
|
#include "log.h" |
| 24 |
#include "lml.h" |
#include "lml.h" |
| 25 |
#include "database.h" |
#include "screen.h" |
| 26 |
#include "user_priv.h" |
#include "user_priv.h" |
| 27 |
#include <ctype.h> |
#include <ctype.h> |
| 28 |
#include <string.h> |
#include <string.h> |
| 483 |
content[ARTICLE_CONTENT_MAX_LEN - 1] = '\0'; |
content[ARTICLE_CONTENT_MAX_LEN - 1] = '\0'; |
| 484 |
|
|
| 485 |
// Remove control sequence |
// Remove control sequence |
| 486 |
len_content = ctrl_seq_filter(content); |
len_content = str_filter(content, 0); |
| 487 |
|
|
| 488 |
p_editor_data = editor_data_load(content); |
p_editor_data = editor_data_load(content); |
| 489 |
if (p_editor_data == NULL) |
if (p_editor_data == NULL) |
| 739 |
|
|
| 740 |
p_article_new->title[0] = '\0'; |
p_article_new->title[0] = '\0'; |
| 741 |
snprintf(title_input, sizeof(title_input), "Re: %s", p_article->title); |
snprintf(title_input, sizeof(title_input), "Re: %s", p_article->title); |
| 742 |
len = split_line(title_input, TITLE_INPUT_MAX_LEN, &eol, &display_len); |
len = split_line(title_input, TITLE_INPUT_MAX_LEN, &eol, &display_len, 0); |
| 743 |
title_input[len] = '\0'; |
title_input[len] = '\0'; |
| 744 |
|
|
| 745 |
db = db_open(); |
db = db_open(); |
| 832 |
content_f[len] = '\0'; |
content_f[len] = '\0'; |
| 833 |
|
|
| 834 |
// Remove control sequence |
// Remove control sequence |
| 835 |
len = ctrl_seq_filter(content_f); |
len = str_filter(content_f, 0); |
| 836 |
|
|
| 837 |
len = snprintf(content, ARTICLE_CONTENT_MAX_LEN, |
len = snprintf(content, ARTICLE_CONTENT_MAX_LEN, |
| 838 |
"\n\n【 在 %s (%s) 的大作中提到: 】\n", |
"\n\n【 在 %s (%s) 的大作中提到: 】\n", |
| 839 |
p_article->username, p_article->nickname); |
p_article->username, p_article->nickname); |
| 840 |
|
|
| 841 |
quote_content_lines = split_data_lines(content_f, ARTICLE_QUOTE_LINE_MAX_LEN, line_offsets, ARTICLE_QUOTE_MAX_LINES + 1); |
quote_content_lines = split_data_lines(content_f, ARTICLE_QUOTE_LINE_MAX_LEN, line_offsets, ARTICLE_QUOTE_MAX_LINES + 1, 0); |
| 842 |
for (i = 0; i < quote_content_lines; i++) |
for (i = 0; i < quote_content_lines; i++) |
| 843 |
{ |
{ |
| 844 |
memcpy(content + len, ": ", 2); // quote line prefix |
memcpy(content + len, ": ", 2); // quote line prefix |