rendered paste bodybool 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;}