]> code.citadel.org Git - citadel.git/blobdiff - webcit/messages.c
Webcit coredumping when body of message is blank
[citadel.git] / webcit / messages.c
index ab3602f2a6c76dc55a3a373c2184d4359223a6b6..0e6b76d843bf949f0699884da91b3c71410cb3a5 100644 (file)
@@ -905,7 +905,7 @@ void post_mime_to_server(void) {
                serv_puts("Content-type: text/plain; charset=utf-8");
                serv_puts("Content-Transfer-Encoding: quoted-printable");
                serv_puts("");
-               txtmail = html_to_ascii(bstr("msgtext"), 0, 80);
+               txtmail = html_to_ascii(bstr("msgtext"), 0, 80, 0);
                Buf = NewStrBufPlain(txtmail, -1);
                free(txtmail);
 
@@ -918,7 +918,9 @@ void post_mime_to_server(void) {
        serv_puts("Content-Transfer-Encoding: quoted-printable");
        serv_puts("");
        serv_puts("<html><body>\r\n");
-       text_to_server_qp(sbstr("msgtext"));    /* Transmit message in quoted-printable encoding */
+       if (havebstr("msgtext")) {
+               text_to_server_qp(sbstr("msgtext"));    /* Transmit message in quoted-printable encoding */
+       }
        serv_puts("</body></html>\r\n");
 
        if (include_text_alt) {
@@ -945,7 +947,7 @@ void post_mime_to_server(void) {
                                break;
                        }
                        syslog(LOG_DEBUG, "Attachment: raw len %d", StrLength(att->Data));
-                       encoded_strlen = CtdlEncodeBase64(encoded, ChrPtr(att->Data), StrLength(att->Data), 1);
+                       encoded_strlen = CtdlEncodeBase64(encoded, ChrPtr(att->Data), StrLength(att->Data), BASE64_YES_LINEBREAKS);
                        syslog(LOG_DEBUG, "Attachment: encoded len %d", encoded_strlen);
 
                        serv_printf("--%s", top_boundary);