[FIX BUG]FB3中文章多次转载后原作者信息丢失
现象: 1. 一篇文章多次转载(cross-post)后,文章中提示的作者ID
会变成最后一个转载者的ID
2. 若re一篇转载的文章,当re文又被转载后,转载后的文章
会把引文中的所转载文章原作者信息丢失
fb2000多数版本也存在有这个BUG
参考解决: (文章中所指程序请参考具体情况)
修改bbs.c中的getcross()函数
1. 函数约28行左右..删去以下部分
if (in_mail == YEA)
fprintf(of, " [1;37m【 以下文字转载自 [32m%s [37m的信箱 】\n", cur
renttuser.userid);
else
fprintf(of, " [1;37m【 以下文字转载自 [32m%s [37m讨论区 ]\n", quot
e_bord];
fprintf(of, "【 原文由 [32m %s [37m 所发表 ] [m\n", owner];
2. 函数约45行左右..修改以下部分...
while (fgets(buf, 256, inf) != NULL) {
if ((strstr(buf, "【 以下文字转载自 ") && strstr(buf, "讨论区 】"))
|| (trstr(buf, "【 原文由") && strstr(buf, "所发表 】")))
continue;
else
fprintf(of, "%s", buf);
}
改为:
// fishchen 2002.7.20 fix the bug in cross-post
if (mode == 0 && fgets(buf, 256, inf) != NULL) {
if (strstr(buf, "【 以下文字转载自 ") && strstr(buf, "讨论区 】")) {
fprintf(of, "%s", buf);
} else {
if (in_mail == YEA)
fprintf(of, " [1;37m【 以下文字转载自 [32m%s [37m的信箱 】
\n",currentuser.userid);
else
fprintf(of, " [1;37m【 以下文字转载自 [32m%s [37m讨论区 】
\n",quote_board);
fprintf(of, "【 原文由 [32m %s [37m 所发表 】 [m\n", owner);
fprintf(of, "%s", buf);
}
}
while (fgets(buf, 256, inf) != NULL) {
fprintf(of, "%s", buf);
}
--
FROM 211.66.114.31