回文章列表
作者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 ]|[  Ocpu.tfcis.org  ]|[�搟說:]=
=[:摃�╱�:Author ]|[59-126-109-61.hinet-ip.hin]|[�:]=
文章選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻