[gaim-migrate @ 8868]

Wed, 21 Jan 2004 04:06:00 +0000

author
Livio B. Soares
date
Wed, 21 Jan 2004 04:06:00 +0000
changeset 8156
5373a2984a63
parent 8155
b607279bc59b
child 8157
3d0fa227ab3c

[gaim-migrate @ 8868]
Thanks to Livio B. Soares, broken IRC servers are a bit better tolerated.

committer: Ethan Blanton <elb@pidgin.im>

src/protocols/irc/irc.c file | annotate | diff | comparison | revisions
--- a/src/protocols/irc/irc.c	Wed Jan 21 03:22:52 2004 +0000
+++ b/src/protocols/irc/irc.c	Wed Jan 21 04:06:00 2004 +0000
@@ -366,9 +366,13 @@
 	irc->inbufused += len;
 	irc->inbuf[irc->inbufused] = '\0';
 
-	for (cur = irc->inbuf; cur < irc->inbuf + irc->inbufused && (end = strstr(cur, "\r\n")); cur = end + 2) {
+	cur = irc->inbuf;
+	while (cur < irc->inbuf + irc->inbufused &&
+	       ((end = strstr(cur, "\r\n")) || (end = strstr(cur, "\n")))) {
+		int step = (*end == '\r' ? 2 : 1);
 		*end = '\0';
 		irc_parse_msg(irc, cur);
+		cur = end + step;
 	}
 	if (cur != irc->inbuf + irc->inbufused) { /* leftover */
 		irc->inbufused -= (cur - irc->inbuf);

mercurial