荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: jjk (prepare for the future), 信区: InstallBBS
标 题: [bug]斑竹使用大D时系统记录不准确
发信站: 荔园晨风BBS站 (Fri Jan 11 09:42:50 2002), 转信
【 以下文字转载自 jjk 的信箱 】
【 原文由 jjksam@smth.org 所发表 】
发信人: jjksam (Linux,c/c++,java), 信区: BBSMan_Dev
标 题: [bug]斑竹使用大D时系统记录不准确
发信站: BBS 水木清华站 (Fri Jan 11 03:39:10 2002)
这个bug存在于FB2.66M,FBNT3W,FB20001219(其他的没时间去看)
在使用D时,如果斑竹输入的末篇文章编号大于版面的文章数,
这时系统记录的是末篇文章编号。这样就说明了记录不准确。
这样容易引起误会,容易让人误以为用了灌水机后用D删除文章。
解决方法如下:
其实就是在bbs.c 中del_range函数里面加一个判断.
先在bbs.c前面声明这个函数(这是在record.c里面的一个函数)
/* Modify by jjk at Jan 11,2002 防止版主使用大D时系统记录不准确 */
/* For record.c */
long get_num_records();
/* End Modify. */
在del_range函数里面加上如下内容
增加两个局部变量(add two more local variable)
/* Modify by jjk at Jan 11,2002 防止版主使用大D时系统记录不准确 */
char currdirect[STRLEN];
int numrecs;
/* End Modify */
if (askyn("确定删除", NA, NA) == YEA) {
/* Modify by jjk at Jan 11,2002 防止版主使用大D时系统记录不准确 */
strcpy(currdirect, direct);
numrecs=(int)get_num_records(currdirect, sizeof(struct fileheader));
if(inum2>numrecs){
inum2=numrecs;
}
/* End Modify */
delete_range(direct, inum1, inum2);
fixkeep(direct, inum1, inum2);
if (uinfo.mode == READING) {
sprintf(genbuf, "Range delete %d-%d on %s", inum1, inum2,
currboard);
} else {
sprintf(genbuf, "Range delete %d-%d in mailbox", inum1, inum2);
}
securityreport(genbuf);
return DIRCHANGED;
}
--
____________________________________________
|┏━━━━━━━━━━━━━━━━━━━━┓
|┃ 欢迎光临荔园晨风 Linux 版,InstallBBS 版┃
|┗━━━━━━━━━━━━━━━━━━━━┛
﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋﹋
welcome to http://www.linuxbyte.net
※ 修改:·jjksam 於 Jan 11 09:45:52 修改本文·[FROM: 210.39.3.50]
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.96.144.222]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店