Sophie

Sophie

distrib > Mandriva > 2007.1 > i586 > by-pkgid > 1b2db65e63256b12c55778a2a02ab55d > files > 4

fetchmail-6.3.6-1mdv2007.1.src.rpm

--- ./sink.c.tv	2007-01-16 15:08:38.000000000 +0100
+++ ./sink.c	2007-01-16 15:09:24.000000000 +0100
@@ -728,7 +728,25 @@
 	n = fwrite(buf, last - buf, 1, sinkfp);
 	if (ferror(sinkfp)) n = -1;
     } else if (ctl->smtp_socket != -1)
-	n = SockWrite(ctl->smtp_socket, buf, last - buf);
+    {
+        if ((strstr(buf,"\n")) == NULL)
+        {
+            size_t l = strlen(buf);
+            char *buf1 = xmalloc(l + 2); /* alloc a buffer with room for \n\0 */
+            if (buf1)
+            {
+                strcpy(buf1, buf);
+                buf1[l] = '\n';
+                buf1[l + 1] = '\0';
+                n = SockWrite(ctl->smtp_socket, buf1, l + 1);
+                xfree(buf1);
+            }
+            else
+                n = SockWrite(ctl->smtp_socket, buf, last - buf);
+        }
+        else
+            n = SockWrite(ctl->smtp_socket, buf, last - buf);
+    }
 
     phase = oldphase;