调试了一下,问题出在usage.c中的main函数中的
fillboard()函数,本来该函数的目的是要取得所有板块信息,填入st结构,并初始
化numboards全局变量,但在该函数中,调用了apply_record函数,该函数又调用
fillbcache函数,但每次调用fillbcache时,
int fillbcache(const struct boardheader *fptr,int idx,void* arg)
{
if (numboards >= MAXBOARD)
return 0;
if(!check_see_perm(NULL,fptr)||!*(fptr->filename))
return 0;
if (fptr->flag & BOARD_GROUP)
return 0;
strcpy(st[numboards].boardname, fptr->filename);
strcpy(st[numboards].expname, fptr->title + 13);
st[numboards].times = 0;
st[numboards].sum = 0;
numboards++;
return 0;
}
在执行到if(!check_see_perm(NULL,fptr)||!*(fptr->filename))时,每次都
return 0了,后面的都没有执行到。
望知情的站务和开发人员帮我看看,check_see_perm干什么的?到底该怎么改呢?
【 在 darling (大林) 的大作中提到: 】
: 在usage.c的main函数中,有调用fill_board函数试图读取.BOARDS文件中的board
: 信息,可能是没有正确读取到,之后调用gen_usage产生的bonlinelog/2007/10下面
: 的每一天的板块统计信息都是0,后面调用gen_usage产生的0Announce/bbslists/下
: ...................
--
FROM 60.191.126.*