作者chchen.bbs@cpu.tfcis.org (null) 看板: itoc
標題關於匿名推文
時間動力核心 (2007/05/12 Sat 00:32:58)
由於想紀錄匿名推文的真實姓名於反匿名版
配合精華區內的 2 ◇ [功能] post.c 匿名板評分記錄於反匿名板
自己動手修改了一下 post.c
修改出來的結果 可以在我的測試站執行
但同樣的程式碼 拿去社站會有問題
會產生匿名推文後 下一行出現真實id推同樣文章的情形
像是:
→ 神秘路人甲 推:來推看看 07/05/11 23:27
→ chchen 推:來推看看 07/05/11 23:27
測試站的OS是Linux gcc版本gcc version 3.3.5 (Debian 1:3.3.5-13)
社站的OS則是FreeBSD 6.1-RELEASE gcc版本 gcc version 3.3.6 [FreeBSD]
以下是精華區內的文章加上我有修改的地方(以!註明)
: post.c:do_unanonymous()
- hdr_stamp(folder, HDR_LINK | 'A', &hdr, fpath);
+ hdr_stamp(folder, HDR_COPY | 'A', &hdr, fpath);
: post.c:post_score()
if (fp = fopen(fpath, "a"))
{
time_t now;
struct tm *ptime;
! char folder[64], buf[512], buf2[512];
time(&now);
ptime = localtime(&now);
- fprintf(fp, "→ \033[36m%s %s\033[m:%-*s%02d/%02d/%02d\n",
+ sprintf(buf, "→ \033[36m%s %s\033[m:%-*s%02d/%02d/%02d\n",
userid, verb, 62 - strlen(userid), reason,
ptime->tm_year % 100, ptime->tm_mon + 1, ptime->tm_mday);
!#ifdef HAVE_ANONYMOUS
! maxlen = 64 - strlen(cuser.userid) - vtlen;
! sprintf(buf2, "→ \033[36m%s \033[3%s\033[m:%-*s%02d/%02d/%02d\n",
! cuser.userid, verb, maxlen, reason,
! ptime->tm_year % 100, ptime->tm_mon + 1, ptime->tm_mday);
!#endif
+ fputs(buf, fp);
fclose(fp);
+#ifdef HAVE_ANONYMOUS
! if (currbattr & BRD_ANONYMOUS)
+ {
+ brd_fpath(folder, BN_UNANONYMOUS, fn_dir);
+ hdr_fpath(fpath, folder, hdr);
! f_cat(fpath, buf2);
+ }
+#endif
}
希望有人能幫我解答...謝謝<(_ _)>
--
=[﹎:�摃�◣��:﹎ Origin ]|[ ���O���� cpu.tfcis.org ]|[�搟說�﹎:]=
=[﹊:�摃�╱��:﹊ Author ]|[59-126-109-61.hinet-ip.hin]|[���插�﹊:]=