X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/095efcf0fc054a9cedcb14155058f7371e1ff178..8ee12f0c437eec8aa42af7b350c7e2a3ccafedbc:/modules/core/m_join.c diff --git a/modules/core/m_join.c b/modules/core/m_join.c index 5f8b9811..b72f8303 100644 --- a/modules/core/m_join.c +++ b/modules/core/m_join.c @@ -347,14 +347,10 @@ m_join(struct Client *client_p, struct Client *source_p, int parc, const char *p sendto_channel_local(ONLY_CHANOPS, chptr, ":%s MODE %s %s", me.name, chptr->chname, modes); - if(*chptr->chname == '#') - { - sendto_server(client_p, chptr, CAP_TS6, NOCAPS, - ":%s SJOIN %ld %s %s :@%s", - me.id, (long) chptr->channelts, - chptr->chname, modes, - source_p->id); - } + sendto_server(client_p, chptr, CAP_TS6, NOCAPS, + ":%s SJOIN %ld %s %s :@%s", + me.id, (long) chptr->channelts, + chptr->chname, modes, source_p->id); } else { @@ -392,14 +388,11 @@ m_join(struct Client *client_p, struct Client *source_p, int parc, const char *p /* * ms_join - * - * inputs - - * output - none - * side effects - handles remote JOIN's sent by servers. In TSora - * remote clients are joined using SJOIN, hence a - * JOIN sent by a server on behalf of a client is an error. - * here, the initial code is in to take an extra parameter - * and use it for the TimeStamp on a new channel. + * parv[0] = sender prefix + * parv[1] = channel TS + * parv[2] = channel + * parv[3] = "+", formerly channel modes but now unused + * alternatively, a single "0" parameter parts all channels */ static int ms_join(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) @@ -1188,7 +1181,7 @@ remove_our_modes(struct Channel *chptr, struct Client *source_p) *mbuf = '\0'; sendto_channel_local(ALL_MEMBERS, chptr, ":%s MODE %s %s %s %s %s %s", - me.name, chptr->chname, + source_p->name, chptr->chname, lmodebuf, lpara[0], lpara[1], lpara[2], lpara[3]); @@ -1220,7 +1213,7 @@ remove_our_modes(struct Channel *chptr, struct Client *source_p) *mbuf = '\0'; sendto_channel_local(ALL_MEMBERS, chptr, ":%s MODE %s %s %s %s %s %s", - me.name, chptr->chname, lmodebuf, + source_p->name, chptr->chname, lmodebuf, lpara[0], lpara[1], lpara[2], lpara[3]); mbuf = lmodebuf; *mbuf++ = '-'; @@ -1236,7 +1229,7 @@ remove_our_modes(struct Channel *chptr, struct Client *source_p) *mbuf = '\0'; sendto_channel_local(ALL_MEMBERS, chptr, ":%s MODE %s %s %s %s %s %s", - me.name, chptr->chname, lmodebuf, + source_p->name, chptr->chname, lmodebuf, EmptyString(lpara[0]) ? "" : lpara[0], EmptyString(lpara[1]) ? "" : lpara[1], EmptyString(lpara[2]) ? "" : lpara[2],