ii

git clone https://orangeshoelaces.net/git/ii.git

a5a7d1b3766546d7466f174f9c1c0be2f9f505f2

Author: Nico Golde on 06/28/2012

Committer: Nico Golde on 06/28/2012

fix parsing of JOIN messages for certain servers, thanks van Kanakarakis

Stats

CHANGES |  2 ++
ii.c    | 10 +++-----
2 files changed, 5 insertions(+), 7 deletions(-)

Patch

diff --git a/CHANGES b/CHANGES
index d18eca2..ab0943f 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,8 @@
     - -k now specifies an environment variable that contains the
       server key. This behaviour has been changed in order to not
       expose the password in the process list.
+    - Fix parsing of JOIN messages for certain servers.
+      Thanks Ivan Kanakarakis!
 
 1.6 (2011-01-31):
     - fix regression introduced for handling unknown commands
diff --git a/ii.c b/ii.c
index a2acf88..6eeeb04 100644
--- a/ii.c
+++ b/ii.c
@@ -347,13 +347,9 @@ static void proc_server_cmd(char *buf) {
 	} else if(!strncmp("ERROR", argv[TOK_CMD], 6))
 		snprintf(message, PIPE_BUF, "-!- error %s", argv[TOK_TEXT] ? argv[TOK_TEXT] : "unknown");
 	else if(!strncmp("JOIN", argv[TOK_CMD], 5)) {
-		if(argv[TOK_TEXT] != NULL){
-			p = strchr(argv[TOK_TEXT], ' ');
-			if(p)
-				*p = 0;
-		}
-		argv[TOK_CHAN] = argv[TOK_TEXT];
-		snprintf(message, PIPE_BUF, "-!- %s(%s) has joined %s", argv[TOK_NICKSRV], argv[TOK_USER], argv[TOK_TEXT]);
+		if (argv[TOK_TEXT] != NULL)
+			argv[TOK_CHAN] = argv[TOK_TEXT];
+		snprintf(message, PIPE_BUF, "-!- %s(%s) has joined %s", argv[TOK_NICKSRV], argv[TOK_USER], argv[TOK_CHAN]);
 	} else if(!strncmp("PART", argv[TOK_CMD], 5)) {
 		snprintf(message, PIPE_BUF, "-!- %s(%s) has left %s", argv[TOK_NICKSRV], argv[TOK_USER], argv[TOK_CHAN]);
 	} else if(!strncmp("MODE", argv[TOK_CMD], 5))