hopefully fix usermodes

This commit is contained in:
fishwaldo 2002-10-15 03:18:15 +00:00
parent 97ad490c06
commit b6aae5e158

View file

@ -19,7 +19,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
* $Id: s_user.c,v 1.33 2002/09/26 12:44:33 fishwaldo Exp $
* $Id: s_user.c,v 1.34 2002/10/15 03:18:15 fishwaldo Exp $
*/
#include "stdinc.h"
@ -927,7 +927,7 @@ do_remote_user(char* nick, struct Client* client_p, struct Client* source_p,
int
user_mode(struct Client *client_p, struct Client *source_p, int parc, char *parv[])
{
int flag;
int flag = 0;
int i;
char **p, *m;
struct Client *target_p;
@ -958,7 +958,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, char *parv
*/
if (IsServer(source_p) && (target_p->servptr != client_p) && !IsUlined(source_p))
if (IsServer(source_p) && (target_p->servptr != source_p) && !IsUlined(source_p))
{
sendto_realops_flags(FLAGS_ALL|FLAGS_REMOTE, L_ADMIN, "*** Mode for User %s from %s",
parv[1], source_p->name);
@ -1090,20 +1090,20 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, char *parv
if(badflag)
sendto_one(target_p, form_str(ERR_UMODEUNKNOWNFLAG), me.name, parv[0]);
if ((target_p->umodes & FLAGS_NCHANGE) && !IsOperN(target_p))
if ((flag & FLAGS_NCHANGE) && !IsOperN(target_p))
{
sendto_one(source_p,":%s NOTICE %s :*** You need oper and N flag for +n",
me.name,parv[0]);
target_p->umodes &= ~FLAGS_NCHANGE; /* only tcm's really need this */
}
if (MyConnect(target_p) && (target_p->umodes & FLAGS_ADMIN) && !IsOperAdmin(target_p))
if (MyConnect(target_p) && (flag & FLAGS_ADMIN) && !IsOperAdmin(target_p))
{
sendto_one(source_p,":%s NOTICE %s :*** You need oper and A flag for +a",
me.name, parv[0]);
target_p->umodes &= ~FLAGS_ADMIN;
}
if (!IsUlined(target_p->servptr) && (target_p->umodes & FLAGS_SERVICES))
if (!IsUlined(target_p->servptr) && (flag & FLAGS_SERVICES))
{
sendto_one(source_p, ":%s NOTICE %s :*** Only Services can set +S",
me.name, parv[0]);
@ -1112,7 +1112,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, char *parv
/* if the +r isn't from a U lined server, or from the clients server
** then its a error
*/
if ((!IsUlined(source_p) && (source_p != target_p->servptr)) && (target_p->umodes & FLAGS_REGNICK))
if ((!IsUlined(source_p) && (source_p != target_p->servptr)) && (flag & FLAGS_REGNICK))
{
sendto_one(source_p, ":%s NOTICE %s :*** Only Services can set +r",
me.name, parv[0]);