Author: Isomer <isomer@coders.net>
authorPerry Lorier <isomer@undernet.org>
Mon, 1 May 2000 11:23:57 +0000 (11:23 +0000)
committerPerry Lorier <isomer@undernet.org>
Mon, 1 May 2000 11:23:57 +0000 (11:23 +0000)
Log message:

 * Add 'PREFIX' to ISUPPORT line - shamelessly stolen from unreal ircd.
(Whistles innocently)
 * My take on the /part bug fix.  It'll either work, or core the server -
either way, it's got to be an improvement on the current scheme.  Ode for
GC.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@225 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
include/supported.h
ircd/channel.c
ircd/map.c

index c2330b12fa0a5e83887018b8bbb6c363cde3d960..8d20d5867f97bd09917d724712a09a656fd0dd3e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2000-05-01  Perry Lorier <isomer@coders.net>
        * ircd/m_invite.c: Fix for the rest of m_invite.c, and again.
+       * ircd/channels.c: My fix for the part problem.  Untested, probably
+               won't work.  Can't be much worse than the current problem.
+               it'll either work or core, take your pick.
+
 
 2000-04-30  Perry Lorier <isomer@coders.net>
        * config/config-sh.in: Fix for CONNEXIT
 #
 # ChangeLog for ircu2.10.11
 #
-# $Id: ChangeLog,v 1.122 2000-04-30 12:41:49 isomer Exp $
+# $Id: ChangeLog,v 1.123 2000-05-01 11:23:56 isomer Exp $
 #
 # Insert new changes at beginning of the change list.
 #
index b6b430f3b90a804e08bef65184a7c51e6821dea2..520f4da2871c94b0f737f080f32f4c46945bf17a 100644 (file)
                 " NICKLEN=%i" \
                 " TOPICLEN=%i" \
                 " KICKLEN=%i" \
-                " CHANTYPES=%s"
+                " CHANTYPES=%s" \
+                " PREFIX=%s"
                  
 #define FEATURESVALUES MAXSILES,MAXMODEPARAMS,MAXCHANNELSPERUSER,MAXBANS, \
-        NICKLEN,TOPICLEN,TOPICLEN,"+#&"
+        NICKLEN,TOPICLEN,TOPICLEN,"+#&","@+"
 
 #endif /* INCLUDED_supported_h */
 
index 4927d078b0ed926dd5fcab1cb57e8a419ad724d5..e1ab4aec5f4f89c6a1bd0d1623b36a0769498f3d 100644 (file)
@@ -3905,9 +3905,8 @@ joinbuf_join(struct JoinBuf *jbuf, struct Channel *chan, unsigned int flags)
        sendcmdto_one(jbuf->jb_source, CMD_PART, jbuf->jb_source,
                      (flags & CHFL_BANNED || !jbuf->jb_comment) ?
                      ":%H" : "%H :%s", chan, jbuf->jb_comment);
+       /* XXX: Shouldn't we send a PART here anyway? */
 
-      /* Remove user from channel */
-      remove_user_from_channel(jbuf->jb_source, chan);
     } else {
       /* Add user to channel */
       add_user_to_channel(chan, jbuf->jb_source, flags);
@@ -3957,6 +3956,9 @@ joinbuf_flush(struct JoinBuf *jbuf)
     build_string(chanlist, &chanlist_i,
                 jbuf->jb_channels[i] ? jbuf->jb_channels[i]->chname : "0", 0,
                 i == 0 ? '\0' : ',');
+    if (JOINBUF_TYPE_PART == jbuf->jb_type)
+      /* Remove user from channel */
+      remove_user_from_channel(jbuf->jb_source, jbuf->jb_channels[i]);
 
     jbuf->jb_channels[i] = 0; /* mark slot empty */
   }
index 8a607a1ca145ca061de03d5048e901dee1800bd5..b4cfbf618f5849a99361e105c67d64ffcb1acef0 100644 (file)
@@ -45,7 +45,7 @@ void dump_map(struct Client *cptr, struct Client *server, char *mask, int prompt
   else {
     char lag[512];
     if (server->serv->lag>10000)
-       strcpy(lag,"(--s)");
+       lag[0]=0;
     else if (server->serv->lag<0)
        strcpy(lag,"(0s)");
     else