[X2serv-cvs] CVS: x2/source commands.c,1.129,1.130
Brought to you by:
sirvulcan
From: Alex S. <ru...@us...> - 2001-02-03 07:51:16
|
Update of /cvsroot/x2serv/x2/source In directory usw-pr-cvs1:/tmp/cvs-serv2919/source Modified Files: commands.c Log Message: added a -noowner tag to searchchan command, to help in finding channels without owner. Also fixed netstat to show proper registered vs total channel info. Index: commands.c =================================================================== RCS file: /cvsroot/x2serv/x2/source/commands.c,v retrieving revision 1.129 retrieving revision 1.130 diff -C2 -r1.129 -r1.130 *** commands.c 2001/01/24 12:07:49 1.129 --- commands.c 2001/02/03 07:51:22 1.130 *************** *** 1416,1420 **** } ! char* getscflags(char* rest, int* secret, int* nodelete, int* noinchan, int* suspended, int* total) { char* mark = rest; --- 1416,1420 ---- } ! char* getscflags(char* rest, int* secret, int* nodelete, int* noinchan, int* suspended, int* noowner, int* total) { char* mark = rest; *************** *** 1442,1445 **** --- 1442,1447 ---- else if(!strcmp(param, "--noinchan")) (*noinchan)++; + else if(!strcmp(param, "--noowner")) + (*noowner)++; else if(!strcmp(param, "-t")) (*total)++; *************** *** 1463,1466 **** --- 1465,1481 ---- } + int countowners(ChannelListType cptr) + { + int i = 0; + HandleListType hptr; + + for(hptr = cptr->Handles;hptr;hptr = hptr->Next) + { + if(hptr->Level == 'W') + i++; + } + return(i); + } + /* TODO : This is not finished.. */ int c_searchchan(C_PARAM) *************** *** 1468,1472 **** int i, count = 0; ChannelListType TempChanPtr; ! int secret = 0, nodelete = 0, noinchan = 0, suspended = 0, total = 0; char* topicsearch; char* chansearch; --- 1483,1487 ---- int i, count = 0; ChannelListType TempChanPtr; ! int secret = 0, nodelete = 0, noinchan = 0, suspended = 0, total = 0, noowner = 0; char* topicsearch; char* chansearch; *************** *** 1481,1489 **** send_to_user(uptr, " --noinchan : Show only channels X2 is not in (INCHAN == 0)."); send_to_user(uptr, " --suspended : Show only suspended channels."); send_to_user(uptr, " -t : Provide a total at the end"); send_to_user(uptr, "Options can be combined."); return(FALSE); } ! rest = getscflags(rest, &secret, &nodelete, &noinchan, &suspended, &total); // send_to_user(uptr, "secret=%d, nodelete=%d, noinchan=%d, suspended=%d, total=%d :%s", // secret, nodelete, noinchan, suspended, total, rest); --- 1496,1505 ---- send_to_user(uptr, " --noinchan : Show only channels X2 is not in (INCHAN == 0)."); send_to_user(uptr, " --suspended : Show only suspended channels."); + send_to_user(uptr, " --noowner : Show only chans with no owner."); send_to_user(uptr, " -t : Provide a total at the end"); send_to_user(uptr, "Options can be combined."); return(FALSE); } ! rest = getscflags(rest, &secret, &nodelete, &noinchan, &suspended, &noowner, &total); // send_to_user(uptr, "secret=%d, nodelete=%d, noinchan=%d, suspended=%d, total=%d :%s", // secret, nodelete, noinchan, suspended, total, rest); *************** *** 1515,1518 **** --- 1531,1536 ---- if(suspended && (TempChanPtr->Suspended == NULL)) continue; + if(noowner && (countowners(TempChanPtr) > 0)) + continue; if(((TempChanPtr->PlusModes & CMODEs) || (TempChanPtr->PlusModes & CMODEp))) { *************** *** 2812,2815 **** --- 2830,2851 ---- } + int countregchans() + { + int i,c=0; + ChannelListType cptr; + + for(i=0;i<CHANSEGSIZE;i++) + { + cptr = Channels->Table[i]; + while(cptr) + { + if(cptr->Regged) + c++; + cptr = cptr->Next; + } + } + return(c); + } + int c_netstat(C_PARAM) { *************** *** 2823,2829 **** send_to_user(uptr, " Number of Servers: %d", ServerCount); send_to_user(uptr, " Number of IRC Ops: %d", OperCount); send_to_user(uptr, " Avg Number of Opers per Server currently online: %1.1f", ave); send_to_user(uptr, " "); ! send_to_user(uptr, " There are %d registered channels.", ChannelCount); send_to_user(uptr, " Total number of Peons : %d ", PeonCount); send_to_user(uptr, " Total number of Ops : %d ", OpCount); --- 2859,2866 ---- send_to_user(uptr, " Number of Servers: %d", ServerCount); send_to_user(uptr, " Number of IRC Ops: %d", OperCount); + send_to_user(uptr, " There are %d channels.", ChannelCount); send_to_user(uptr, " Avg Number of Opers per Server currently online: %1.1f", ave); send_to_user(uptr, " "); ! send_to_user(uptr, " Total number of registered channels: %d", countregchans()); send_to_user(uptr, " Total number of Peons : %d ", PeonCount); send_to_user(uptr, " Total number of Ops : %d ", OpCount); |