]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/core/m_sjoin.c
Add resv oper priv, enabled by default for compatibility.
[irc/rqf/shadowircd.git] / modules / core / m_sjoin.c
index 3682f2224c4ee12146a826feba1098e0050b92f4..ccde55be31f8594406f42bec45be46b35d2b06bc 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: m_sjoin.c 3131 2007-01-21 15:36:31Z jilles $
+ *  $Id: m_sjoin.c 3434 2007-04-28 23:47:25Z jilles $
  */
 
 #include "stdinc.h"
@@ -50,7 +50,7 @@ struct Message sjoin_msgtab = {
 
 mapi_clist_av1 sjoin_clist[] = { &sjoin_msgtab, NULL };
 
-DECLARE_MODULE_AV1(sjoin, NULL, NULL, sjoin_clist, NULL, NULL, "$Revision: 3131 $");
+DECLARE_MODULE_AV1(sjoin, NULL, NULL, sjoin_clist, NULL, NULL, "$Revision: 3434 $");
 
 /*
  * ms_sjoin
@@ -351,6 +351,9 @@ ms_sjoin(struct Client *client_p, struct Client *source_p, int parc, const char
                                     ":%s NOTICE %s :*** Notice -- TS for %s changed from %ld to %ld",
                                     me.name, chptr->chname, chptr->chname,
                                     (long) oldts, (long) newts);
+               /* Update capitalization in channel name, this makes the
+                * capitalization timestamped like modes are -- jilles */
+               strcpy(chptr->chname, parv[2]);
        }
 
        if(*modebuf != '\0')
@@ -556,10 +559,9 @@ ms_sjoin(struct Client *client_p, struct Client *source_p, int parc, const char
                                     CheckEmpty(para[2]), CheckEmpty(para[3]));
        }
 
-       if(!joins && !(chptr->mode.mode & MODE_PERMANENT))
+       if(!joins && !(chptr->mode.mode & MODE_PERMANENT) && isnew)
        {
-               if(isnew)
-                       destroy_channel(chptr);
+               destroy_channel(chptr);
 
                return 0;
        }