- 论坛徽章:
- 0
|
void cleanclient(unsigned int signum);
void cleanclient( signum )
{
int i;
short err;
unsigned long logtime;
unsigned long overtime;
time_t curtime;
struct tm* loctime;
struct usr_info* pUsr= NULL;
#ifdef RYSERV_C_DEBUG
printf("ryserv.c::cleanclient start ...\n");
#endif
overtime=g_idletime<<6;
curtime=time(NULL);
loctime=localtime(&curtime);
logtime=loctime->tm_mon+1;
logtime=logtime<<5|loctime->tm_mday;
logtime=logtime<<5|loctime->tm_hour;
logtime=logtime<<6|loctime->tm_min;
logtime=logtime<<6|loctime->tm_sec;
dprintf("call cleanclient\n");
syslog(LOG_ERR,"start clean client");
for( i = 0; usr_info&&(i < 4096); i++ )
{
if( usr_info[i] )
{
if( ( logtime - usr_info[i]->logtime ) > overtime )
{
pUsr = usr_info[i];
dprintf("kill client due to time out:%x\n", usr_info[i]->v_handle);
syslog(LOG_ERR,"kill client due to time out:%x", usr_info[i]->v_handle);
err=add_harduser(0,usr_info[i]->handle,usr_info[i]->modno,NULL,-1);
if( err )
return;
free(pUsr);
usr_info[i] = NULL;
}
}
}
return;
}
gcc 调试之后出现
format ‘%x’ expects argument of type ‘unsigned int’, but argument 3 has type ‘long unsigned int’ [-Wformat]
这是什么原因???? |
|