Allow the final parameter of MLOCK to be empty, to remove an existing mlock
This commit is contained in:
parent
b72bd23a03
commit
c554add299
|
@ -59,7 +59,7 @@ struct Message tmode_msgtab = {
|
|||
};
|
||||
struct Message mlock_msgtab = {
|
||||
"MLOCK", 0, 0, 0, MFLG_SLOW,
|
||||
{mg_ignore, mg_ignore, {ms_mlock, 4}, {ms_mlock, 4}, mg_ignore, mg_ignore}
|
||||
{mg_ignore, mg_ignore, {ms_mlock, 3}, {ms_mlock, 3}, mg_ignore, mg_ignore}
|
||||
};
|
||||
struct Message bmask_msgtab = {
|
||||
"BMASK", 0, 0, 0, MFLG_SLOW,
|
||||
|
|
|
@ -2246,8 +2246,9 @@ set_channel_mlock(struct Client *client_p, struct Client *source_p,
|
|||
struct Channel *chptr, const char *newmlock)
|
||||
{
|
||||
rb_free(chptr->mode_lock);
|
||||
chptr->mode_lock = rb_strdup(newmlock);
|
||||
chptr->mode_lock = newmlock ? rb_strdup(newmlock) : NULL;
|
||||
|
||||
sendto_server(client_p, NULL, CAP_TS6 | CAP_MLOCK, NOCAPS, ":%s MLOCK %ld %s %s",
|
||||
source_p->id, (long) chptr->channelts, chptr->chname, chptr->mode_lock);
|
||||
sendto_server(client_p, NULL, CAP_TS6 | CAP_MLOCK, NOCAPS, ":%s MLOCK %ld %s :%s",
|
||||
source_p->id, (long) chptr->channelts, chptr->chname,
|
||||
chptr->mode_lock ? chptr->mode_lock : "");
|
||||
}
|
||||
|
|
|
@ -679,9 +679,9 @@ burst_TS6(struct Client *client_p)
|
|||
chptr->topic);
|
||||
|
||||
if(IsCapable(client_p, CAP_MLOCK))
|
||||
sendto_one(client_p, ":%s MLOCK %ld %s %s",
|
||||
sendto_one(client_p, ":%s MLOCK %ld %s :%s",
|
||||
me.id, (long) chptr->channelts, chptr->chname,
|
||||
channel_mlock(chptr, client_p));
|
||||
EmptyString(chptr->mode_lock) ? "" : chptr->mode_lock);
|
||||
|
||||
hchaninfo.chptr = chptr;
|
||||
call_hook(h_burst_channel, &hchaninfo);
|
||||
|
|
Loading…
Reference in New Issue