mirror of
https://github.com/osmarks/ngircd.git
synced 2025-06-23 16:54:08 +00:00
- fixed up propagation of modes with arguments between servers.
This commit is contained in:
parent
5206ab302d
commit
60a4085c38
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#include "portab.h"
|
#include "portab.h"
|
||||||
|
|
||||||
static char UNUSED id[] = "$Id: irc-channel.c,v 1.21.2.1 2003/01/01 13:46:37 alex Exp $";
|
static char UNUSED id[] = "$Id: irc-channel.c,v 1.21.2.2 2003/01/08 17:47:48 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