loudmouth/lm-old-socket.c
changeset 443 5dd3b432c53e
parent 431 04577a6b7ff7
child 444 57c59cfdd77c
--- a/loudmouth/lm-old-socket.c	Sun Jul 13 00:50:26 2008 +0200
+++ b/loudmouth/lm-old-socket.c	Sun Jul 13 00:54:49 2008 +0200
@@ -152,6 +152,10 @@
 {
 	gint b_written;
 
+	if (lm_old_socket_output_is_buffered (socket, buf, len)) {
+                return len;
+        }
+
 	if (socket->ssl_started) {
 		b_written = _lm_ssl_send (socket->ssl, buf, len);
 	} else {
@@ -172,7 +176,14 @@
 		}
 	}
 
-	return b_written;
+        if (b_written < len && b_written != -1) {
+                lm_old_socket_setup_output_buffer (socket,
+                                                   buf + b_written,
+                                                   len - b_written);
+                return len;
+        }
+        
+        return b_written;
 }
 
 static gboolean