From b7a5122870ebb28255d0ff64bf6b0a1f6c60b88f Mon Sep 17 00:00:00 2001 From: kcwu Date: Sun, 7 Jun 2009 09:02:22 +0000 Subject: - fix compile error - fix snprintf usage git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4508 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- mbbsd/register.c | 71 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/mbbsd/register.c b/mbbsd/register.c index 4ef775a9..45797c13 100644 --- a/mbbsd/register.c +++ b/mbbsd/register.c @@ -1614,13 +1614,13 @@ static int concat_regform_entry_localized(const RegformEntry *pre, char *result, int maxlen) { int len = strlen(result); - len += snprintf(result, maxlen - len, "使用者ID: %s\n", pre->u.userid); - len += snprintf(result, maxlen - len, "真實姓名: %s\n", pre->u.realname); - len += snprintf(result, maxlen - len, "職業學校: %s\n", pre->u.career); - len += snprintf(result, maxlen - len, "目前住址: %s\n", pre->u.address); - len += snprintf(result, maxlen - len, "電話號碼: %s\n", pre->u.phone); - len += snprintf(result, maxlen - len, "上站位置: %s\n", pre->u.lasthost); - len += snprintf(result, maxlen - len, "----\n"); + len += snprintf(result + len, maxlen - len, "使用者ID: %s\n", pre->u.userid); + len += snprintf(result + len, maxlen - len, "真實姓名: %s\n", pre->u.realname); + len += snprintf(result + len, maxlen - len, "職業學校: %s\n", pre->u.career); + len += snprintf(result + len, maxlen - len, "目前住址: %s\n", pre->u.address); + len += snprintf(result + len, maxlen - len, "電話號碼: %s\n", pre->u.phone); + len += snprintf(result + len, maxlen - len, "上站位置: %s\n", pre->u.lasthost); + len += snprintf(result + len, maxlen - len, "----\n"); return 1; } @@ -1656,6 +1656,32 @@ append_regform(const RegformEntry *pre, const char *logfn, const char *ext) // prototype declare static void regform_print_reasons(const char *reason, FILE *fp); +static void regform_concat_reasons(const char *reason, char *result, int maxlen); + +int regform_estimate_queuesize() +{ + return dashs(FN_REQLIST) / IDLEN; +} + +///////////////////////////////////////////////////////////////////////////// +// Administration (SYSOP Validation) +///////////////////////////////////////////////////////////////////////////// + +#define REJECT_REASONS (6) +#define REASON_LEN (60) +static const char *reasonstr[REJECT_REASONS] = { + "請輸入真實姓名", + "請詳填(畢業)學校『系』『級』或服務單位(含所屬縣市及職稱)", + "請填寫完整住址 (含縣市/鄉鎮市區, 台北市請記得加行政區域)", + "請詳填連絡電話 (含區碼, 中間不加 '-', '(', ')' 等符號)", + "請精確並完整填寫註冊申請表", + "請用中文填寫申請單", +}; + +#define REASON_FIRSTABBREV '0' +#define REASON_IN_ABBREV(x) \ + ((x) >= REASON_FIRSTABBREV && (x) - REASON_FIRSTABBREV < REJECT_REASONS) +#define REASON_EXPANDABBREV(x) reasonstr[(x) - REASON_FIRSTABBREV] void regform_log2board(const RegformEntry *pre, char accepted, @@ -1681,7 +1707,7 @@ regform_log2board(const RegformEntry *pre, char accepted, strlcpy(msg, title2 ? title2 : title, sizeof(msg)); strlcat(msg, "\n", sizeof(msg)); if (!accepted) { - regform_concat_reasons(reasons, msg, sizeof(msg)); + regform_concat_reasons(reason, msg, sizeof(msg)); } strlcat(msg, "\n", sizeof(msg)); concat_regform_entry_localized(pre, msg, sizeof(msg)); @@ -1691,31 +1717,6 @@ regform_log2board(const RegformEntry *pre, char accepted, #endif // BN_ID_RECORD } -int regform_estimate_queuesize() -{ - return dashs(FN_REQLIST) / IDLEN; -} - -///////////////////////////////////////////////////////////////////////////// -// Administration (SYSOP Validation) -///////////////////////////////////////////////////////////////////////////// - -#define REJECT_REASONS (6) -#define REASON_LEN (60) -static const char *reasonstr[REJECT_REASONS] = { - "請輸入真實姓名", - "請詳填(畢業)學校『系』『級』或服務單位(含所屬縣市及職稱)", - "請填寫完整住址 (含縣市/鄉鎮市區, 台北市請記得加行政區域)", - "請詳填連絡電話 (含區碼, 中間不加 '-', '(', ')' 等符號)", - "請精確並完整填寫註冊申請表", - "請用中文填寫申請單", -}; - -#define REASON_FIRSTABBREV '0' -#define REASON_IN_ABBREV(x) \ - ((x) >= REASON_FIRSTABBREV && (x) - REASON_FIRSTABBREV < REJECT_REASONS) -#define REASON_EXPANDABBREV(x) reasonstr[(x) - REASON_FIRSTABBREV] - void regform_accept(const char *userid, const char *justify) { @@ -1841,10 +1842,10 @@ regform_concat_reasons(const char *reason, char *result, int maxlen) { int i = 0; for (i = 0; reason[i] && REASON_IN_ABBREV(reason[i]); i++) { - len += snprintf(result, maxlen - len, "[退回原因] %s\n", REASON_EXPANDABBREV(reason[i])); + len += snprintf(result + len, maxlen - len, "[退回原因] %s\n", REASON_EXPANDABBREV(reason[i])); } } else { - len += snprintf(result, maxlen - len, "[退回原因] %s\n", reason); + len += snprintf(result + len, maxlen - len, "[退回原因] %s\n", reason); } } -- cgit v1.2.3