]> jfr.im git - solanum.git/blobdiff - modules/core/m_join.c
Show libratbox version info to opers in /info.
[solanum.git] / modules / core / m_join.c
index 5f8b98116ec9ed32a025f01a7f8808f90ba346c8..b72f8303e75be2c892cdc473121276685f0bac6b 100644 (file)
@@ -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);
 
                        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
                {
                }
                else
                {
@@ -392,14 +388,11 @@ m_join(struct Client *client_p, struct Client *source_p, int parc, const char *p
 
 /*
  * ms_join
 
 /*
  * 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[])
  */
 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",
                                        *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]);
 
                                                             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",
                        *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++ = '-';
                                             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",
                *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],
                                     EmptyString(lpara[0]) ? "" : lpara[0],
                                     EmptyString(lpara[1]) ? "" : lpara[1],
                                     EmptyString(lpara[2]) ? "" : lpara[2],