* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
- *
- * Channel management
*/
-
#define __channel_c__
-
#include "portab.h"
+/**
+ * @file
+ * Channel management
+ */
+
#include "imp.h"
#include <assert.h>
#include <stdlib.h>
assert(channel_count == 0 || conf_chan != NULL);
for (i = 0; i < channel_count; i++, conf_chan++) {
- if (!conf_chan->name[0] || !Channel_IsValidName(conf_chan->name)) {
- Log(LOG_ERR, "Can't create pre-defined channel: invalid name: \"%s\"",
- conf_chan->name);
+ if (!conf_chan->name[0])
+ continue;
+ if (!Channel_IsValidName(conf_chan->name)) {
+ Log(LOG_ERR,
+ "Can't create pre-defined channel: invalid name: \"%s\"",
+ conf_chan->name);
continue;
}
return false;
}
+ if (Conf_MorePrivacy)
+ Reason = "";
+
/* Part client from channel */
if (!Remove_Client(REMOVE_PART, chan, Client, Origin, Reason, true))
return false;
assert( Client != NULL );
assert( Reason != NULL );
+ if (Conf_MorePrivacy)
+ Reason = "";
+
IRC_WriteStrRelatedPrefix( Client, Client, false, "QUIT :%s", Reason );
c = My_Channels;
Client_Mask( Client ), c->name, Client_ID(Origin), Reason);
break;
default: /* PART */
+ if (Conf_MorePrivacy)
+ Reason = "";
+
if (InformServer)
IRC_WriteStrServersPrefix(Origin, Client, "PART %s :%s", c->name, Reason);
if (!strchr(Chan->modes, 'k'))
return true;
- if (strcmp(Chan->key, Key) == 0)
- return true;
if (*Key == '\0')
return false;
+ if (strcmp(Chan->key, Key) == 0)
+ return true;
file_name = array_start(&Chan->keyfile);
if (!file_name)