From 13837844606bedfc6e95387e9e003053d5fcf9b4 Mon Sep 17 00:00:00 2001 From: Perry Lorier Date: Mon, 1 May 2000 11:23:57 +0000 Subject: [PATCH] Author: Isomer 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 | 6 +++++- include/supported.h | 5 +++-- ircd/channel.c | 6 ++++-- ircd/map.c | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index c2330b1..8d20d58 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2000-05-01 Perry Lorier * 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 * config/config-sh.in: Fix for CONNEXIT @@ -1049,7 +1053,7 @@ # # 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. # diff --git a/include/supported.h b/include/supported.h index b6b430f..520f4da 100644 --- a/include/supported.h +++ b/include/supported.h @@ -46,10 +46,11 @@ " 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 */ diff --git a/ircd/channel.c b/ircd/channel.c index 4927d07..e1ab4ae 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -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 */ } diff --git a/ircd/map.c b/ircd/map.c index 8a607a1..b4cfbf6 100644 --- a/ircd/map.c +++ b/ircd/map.c @@ -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 -- 2.20.1