diff options
| -rw-r--r-- | chat.h | 1 | ||||
| -rw-r--r-- | command.c | 1 | ||||
| -rw-r--r-- | handle.c | 6 | 
3 files changed, 7 insertions, 1 deletions
@@ -120,6 +120,7 @@ void ircFormat(const char *format, ...)  	__attribute__((format(printf, 1, 2)));  extern struct Replies { +	size_t join;  	size_t topic;  	size_t names;  	size_t whois; @@ -86,6 +86,7 @@ static void commandJoin(size_t id, char *params) {  		}  	}  	ircFormat("JOIN %s\r\n", (params ? params : idNames[id])); +	replies.join += count;  	replies.topic += count;  	replies.names += count;  } @@ -164,6 +164,7 @@ static void handleReplyWelcome(struct Message *msg) {  			if (*ch == ',') count++;  		}  		ircFormat("JOIN %s\r\n", self.join); +		replies.join += count;  		replies.topic += count;  		replies.names += count;  	} @@ -211,7 +212,10 @@ static void handleJoin(struct Message *msg) {  		}  		idColors[id] = hash(msg->params[0]);  		completeTouch(None, msg->params[0], idColors[id]); -		uiShowID(id); +		if (replies.join) { +			uiShowID(id); +			replies.join--; +		}  	}  	completeTouch(id, msg->nick, hash(msg->user));  	if (msg->params[2] && !strcasecmp(msg->params[2], msg->nick)) {  | 
