mirror of
https://github.com/osmarks/ngircd.git
synced 2025-07-29 05:42:52 +00:00
- fixed up propagation of modes with arguments between servers.
This commit is contained in:
parent
3b79965e38
commit
bb94d18115
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#include "portab.h"
|
#include "portab.h"
|
||||||
|
|
||||||
static char UNUSED id[] = "$Id: irc-channel.c,v 1.23 2003/01/01 13:29:40 alex Exp $";
|
static char UNUSED id[] = "$Id: irc-channel.c,v 1.24 2003/01/08 17:45:15 alex Exp $";
|
||||||
|
|
||||||
#include "imp.h"
|
#include "imp.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
@ -386,9 +386,13 @@ IRC_CHANINFO( CLIENT *Client, REQUEST *Req )
|
|||||||
ptr = Channel_Modes( chan );
|
ptr = Channel_Modes( chan );
|
||||||
if( ! *ptr )
|
if( ! *ptr )
|
||||||
{
|
{
|
||||||
/* OK, es sind noch keine Modes gesetzt */
|
/* OK, this channel doesn't have modes jet, set the received ones: */
|
||||||
Channel_SetModes( chan, &Req->argv[1][1] );
|
Channel_SetModes( chan, &Req->argv[1][1] );
|
||||||
IRC_WriteStrChannelPrefix( Client, chan, from, FALSE, "MODE %s +%s", Req->argv[0], &Req->argv[1][1] );
|
IRC_WriteStrChannelPrefix( Client, chan, from, FALSE, "MODE %s +%s", Req->argv[0], &Req->argv[1][1] );
|
||||||
|
|
||||||
|
/* Delete modes which we never want to inherit */
|
||||||
|
Channel_ModeDel( chan, 'l' );
|
||||||
|
Channel_ModeDel( chan, 'k' );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else Log( LOG_WARNING, "CHANNELINFO: invalid MODE format ignored!" );
|
else Log( LOG_WARNING, "CHANNELINFO: invalid MODE format ignored!" );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user