static int ms_join(struct Client *, struct Client *, int, const char **);
static int ms_sjoin(struct Client *, struct Client *, int, const char **);
-struct module_modes ModuleModes;
-
struct Message join_msgtab = {
"JOIN", 0, 0, 0, MFLG_SLOW,
{mg_unreg, {m_join, 2}, {ms_join, 2}, mg_ignore, mg_ignore, {m_join, 2}}
if((target_p = find_person(parv[1])) == NULL)
return 0;
+ if(!MyClient(target_p))
+ return 0;
+
user_join(&me, target_p, parv[2], NULL);
return 0;
}
source_p->servptr->name,
chptr->chname, modebuf, parabuf);
*omodebuf = *modebuf = *parabuf = '\0';
+
+ /* since we're dropping our modes, we want to clear the mlock as well. --nenolod */
+ set_channel_mlock(client_p, source_p, chptr, NULL, FALSE);
}
if(!IsMember(source_p, chptr))
/* Update capitalization in channel name, this makes the
* capitalization timestamped like modes are -- jilles */
strcpy(chptr->chname, parv[2]);
+
+ /* since we're dropping our modes, we want to clear the mlock as well. --nenolod */
+ set_channel_mlock(client_p, source_p, chptr, NULL, FALSE);
}
if(*modebuf != '\0')
CheckEmpty(para[2]), CheckEmpty(para[3]));
}
- if(!joins && !(chptr->mode.mode & ModuleModes.MODE_PERMANENT) && isnew)
+ if(!joins && !(chptr->mode.mode & MODE_PERMANENT) && isnew)
{
destroy_channel(chptr);
len = rb_sprintf(pbuf, "%d:%d ", mode->join_num, mode->join_time);
pbuf += len;
}
- if(mode->forward[0] && strcmp(oldmode->forward, mode->forward) && ModuleModes.MODE_FORWARD)
+ if(mode->forward[0] && strcmp(oldmode->forward, mode->forward) && ConfigChannel.use_forward)
{
if(dir != MODE_ADD)
{