[srvx-commits] CVS: services/src modcmd.c,1.42,1.43
Brought to you by:
entrope
|
From: Zoot <zo...@us...> - 2002-12-12 03:23:33
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv14738/src
Modified Files:
modcmd.c
Log Message:
Extract a channel out of commands before and after alias expansion (fixes /msg ChanServ addop foo).
Index: modcmd.c
===================================================================
RCS file: /cvsroot/srvx/services/src/modcmd.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -C2 -r1.42 -r1.43
*** modcmd.c 3 Dec 2002 02:55:14 -0000 1.42
--- modcmd.c 12 Dec 2002 03:23:30 -0000 1.43
***************
*** 619,622 ****
--- 619,636 ----
}
+ /* Try to grab a channel handle before alias expansion.
+ * If the command accepts a channel name, and argv[1] is
+ * one, use it as a channel name, and hide it from logging.
+ */
+ if ((argc > 1)
+ && (cmd->flags & MODCMD_ACCEPT_CHANNEL)
+ && IsChannelName(argv[1])
+ && ((argv[1][0] != '+') || (cmd->flags & MODCMD_ACCEPT_PCHANNEL))
+ && (channel = dict_find(channels, argv[1], NULL))) {
+ argv[1] = argv[0];
+ argv++, argc--;
+ cmd_arg = 1;
+ }
+
/* Expand the alias arguments, if there are any. */
if (cmd->alias.used) {
***************
*** 630,635 ****
}
! /* If the command accepts a channel name, and argv[1] is one, use
! * it as a channel name, and hide it from logging.
*/
if ((argc > 1)
--- 644,649 ----
}
! /* Try again to grab a handle to the channel after alias
! * expansion, overwriting any previous channel.
*/
if ((argc > 1)
|