src/protocols/simple/simple.c

changeset 12748
f2cbf850b529
parent 12746
7ee4a8a55435
child 12750
dd04a0ee207e
--- a/src/protocols/simple/simple.c	Fri Jan 06 06:34:49 2006 +0000
+++ b/src/protocols/simple/simple.c	Sat Jan 07 03:56:15 2006 +0000
@@ -1111,12 +1111,15 @@
 	int len;
 	time_t currtime;
 
+	/** XXX: eek! What if we can't receive everything right now?
+	         (need to maintain buffer for next read) */
 	static char buffer[65536];
-	len = recv(source, buffer, 65536, 0);
-	buffer[len] = 0;
-	gaim_debug_info("simple","\n\nreceived - %s\n######\n%s\n#######\n\n",ctime(&currtime), buffer);
-	msg = sipmsg_parse_msg(buffer);
-	if(msg) process_input_message(sip, msg);
+	if((len = recv(source, buffer, 65536, 0))) {
+		buffer[len] = '\0';
+		gaim_debug_info("simple","\n\nreceived - %s\n######\n%s\n#######\n\n",ctime(&currtime), buffer);
+		msg = sipmsg_parse_msg(buffer);
+		if(msg) process_input_message(sip, msg);
+	}
 }
 
 static void simple_input_cb(gpointer data, gint source, GaimInputCondition cond)

mercurial