All pastes #2034007 Raw Edit

Stuff

public cpp v1 · immutable
#2034007 ·published 2010-12-30 07:50 UTC
rendered paste body
bool Client::cmd_join(char *params) {	chanClient userInfo;	char *name,*extra;	if(params==NULL) {		goto notenoughparams;	}	extra=strchr(params,' ');	if(extra != NULL)		*extra++=0;	name=params;	memset(&userInfo,0,sizeof(chanClient));	userInfo.client=this;	if(rightsmask&OPERPRIVS_GLOBALOWNER) userInfo.owner=true;	if(rightsmask&OPERPRIVS_GETOPS) userInfo.op=true;	if(rightsmask&OPERPRIVS_GETVOICE) userInfo.voice=true;	if(extra != NULL) {		if(extra[0]=='x'||extra[0]=='X' && extra[1] == ' ') { //extra			extra=strchr(extra,' ');			if(extra != NULL) {				extra++;				for(int i=0;i<strlen(extra);i++) {					switch(extra[i]) {					case 'i':						userInfo.invisible=true&&(rightsmask&OPERPRIVS_INVISIBLE);						break;					case 'q':						userInfo.quiet=true;						break;					case 'g':						userInfo.gag=true;						break;					case 'n':						userInfo.voice=false;						userInfo.halfop=false;						userInfo.op=false;						userInfo.owner=false;						break;					}				}			}		}	}	joinChan(name,&userInfo);	return true;	notenoughparams:	 send_numeric(461,"JOIN :Not enough parameters");	 return false;}