? sumode.diff Index: src/s_user.c =================================================================== RCS file: /cvs/unreal/src/s_user.c,v retrieving revision 1.1.1.1.6.1.2.316.2.25 diff -r1.1.1.1.6.1.2.316.2.25 s_user.c 58a59,60 > void send_sumode(aClient *, aClient *, long, long, char *); > void send_sumode_out(aClient *, aClient *, long); 740a743,790 > /* Show the Server setting usermodes (used in m_oper on oper up) -Nath */ > > void send_sumode(aClient *cptr, aClient *sptr, long old, long sendmask, char *umode_buf) > { > int i; > long flag; > char *m; > int what = MODE_NULL; > > m = umode_buf; > *m = '\0'; > for (i = 0; i <= Usermode_highest; i++) > { > if (!Usermode_Table[i].flag) > continue; > flag = Usermode_Table[i].mode; > if (MyClient(sptr) && !(flag & sendmask)) > continue; > if ((flag & old) && !(sptr->umodes & flag)) > { > if (what == MODE_DEL) > *m++ = Usermode_Table[i].flag; > else > { > what = MODE_DEL; > *m++ = '-'; > *m++ = Usermode_Table[i].flag; > } > } > else if (!(flag & old) && (sptr->umodes & flag)) > { > if (what == MODE_ADD) > *m++ = Usermode_Table[i].flag; > else > { > what = MODE_ADD; > *m++ = '+'; > *m++ = Usermode_Table[i].flag; > } > } > } > *m = '\0'; > if (*umode_buf && cptr) > sendto_one(cptr, ":%s %s %s :%s", me.name, > (IsToken(cptr) ? TOK_MODE : MSG_MODE), > sptr->name, umode_buf); > } > 771a822,849 > void send_sumode_out(aClient *cptr, aClient *sptr, long old) > { > int i; > aClient *acptr; > > send_sumode(NULL, sptr, old, SEND_UMODES, buf); > > for (i = LastSlot; i >= 0; i--) > if ((acptr = local[i]) && IsServer(acptr) && > (acptr != cptr) && (acptr != sptr) && *buf) { > if (!SupportUMODE2(acptr)) > { > sendto_one(acptr, ":%s MODE %s :%s", > sptr->name, sptr->name, buf); > } > else > { > sendto_one(acptr, ":%s %s %s", > sptr->name, > (IsToken(acptr) ? TOK_UMODE2 : MSG_UMODE2), > buf); > } > } > if (cptr && MyClient(cptr)) > send_sumode(cptr, sptr, old, ALL_UMODES, buf); > > } > Index: src/modules/m_oper.c =================================================================== RCS file: /cvs/unreal/src/modules/Attic/m_oper.c,v retrieving revision 1.1.2.39.2.18 diff -r1.1.2.39.2.18 m_oper.c 337c337 < send_umode_out(cptr, sptr, old); --- > send_sumode_out(cptr, sptr, old);