]> code.citadel.org Git - citadel.git/blobdiff - webcit/serv_func.c
Attachments: start using fineuploader.com to upload attachments to messages.
[citadel.git] / webcit / serv_func.c
index 6dcf79cd96f30e605ad7601b29c8dbd080f59d26..dd1cc4deef70c1247a727dc9710237506682a481 100644 (file)
@@ -64,7 +64,7 @@ ServInfo *get_serv_info(StrBuf *browser_host, StrBuf *user_agent)
        );
        StrBuf_ServGetln(Buf);
        if (GetServerStatus(Buf, NULL) != 2) {
-               syslog(0, "get_serv_info(IDEN): unexpected answer [%s]\n",
+               syslog(LOG_WARNING, "get_serv_info(IDEN): unexpected answer [%s]\n",
                        ChrPtr(Buf));
                FreeStrBuf(&Buf);
                return NULL;
@@ -78,7 +78,7 @@ ServInfo *get_serv_info(StrBuf *browser_host, StrBuf *user_agent)
        serv_puts("ICAL sgi|1");
        StrBuf_ServGetln(Buf);
        if (GetServerStatus(Buf, NULL) != 2) {
-               syslog(0, "get_serv_info(ICAL sgi|1): unexpected answer [%s]\n",
+               syslog(LOG_WARNING, "get_serv_info(ICAL sgi|1): unexpected answer [%s]\n",
                        ChrPtr(Buf));
                FreeStrBuf(&Buf);
                return NULL;
@@ -88,7 +88,7 @@ ServInfo *get_serv_info(StrBuf *browser_host, StrBuf *user_agent)
        serv_puts("INFO");
        StrBuf_ServGetln(Buf);
        if (GetServerStatus(Buf, NULL) != 1) {
-               syslog(0, "get_serv_info(INFO sgi|1): unexpected answer [%s]\n",
+               syslog(LOG_WARNING, "get_serv_info(INFO sgi|1): unexpected answer [%s]\n",
                        ChrPtr(Buf));
                FreeStrBuf(&Buf);
                return NULL;
@@ -376,71 +376,13 @@ void text_to_server(char *ptr)
 /*
  * Transmit message text (in memory) to the server, converting to Quoted-Printable encoding as we go.
  */
-void text_to_server_qp(char *ptr)
+void text_to_server_qp(const StrBuf *SendMeEncoded)
 {
-       unsigned char ch, buf[256];
-       int pos;
-       int output_len = 0;
+       StrBuf *ServBuf;
 
-       pos = 0;
-       buf[0] = 0;
-       output_len = 0;
-
-       while (ptr[pos] != 0) {
-               ch = (unsigned char)(ptr[pos++]);
-
-               if (ch == 13) {
-                       /* ignore carriage returns */
-               }
-               else if (ch == 10) {
-                       /* hard line break */
-                       if (output_len > 0) {
-                               if (isspace(buf[output_len-1])) {
-                                       sprintf((char *)&buf[output_len-1], "=%02X", buf[output_len-1]);
-                                       output_len += 2;
-                               }
-                       }
-                       buf[output_len++] = 0;
-                       serv_puts((char *)buf);
-                       output_len = 0;
-               }
-               else if (ch == 9) {
-                       buf[output_len++] = ch;
-               }
-               else if ( (ch >= 32) && (ch <= 60) ) {
-                       buf[output_len++] = ch;
-               }
-               else if ( (ch >= 62) && (ch <= 126) ) {
-                       buf[output_len++] = ch;
-               }
-               else {
-                       sprintf((char *)&buf[output_len], "=%02X", ch);
-                       output_len += 3;
-               }
-               
-               if (output_len > 72) {
-                       /* soft line break */
-                       if (isspace(buf[output_len-1])) {
-                               sprintf((char *)&buf[output_len-1], "=%02X", buf[output_len-1]);
-                               output_len += 2;
-                       }
-                       buf[output_len++] = '=';
-                       buf[output_len++] = 0;
-                       serv_puts((char *)buf);
-                       output_len = 0;
-               }
-       }
-
-       /* end of data - transmit anything that's left */
-       if (output_len > 0) {
-               if (isspace(buf[output_len-1])) {
-                       sprintf((char *)&buf[output_len-1], "=%02X", buf[output_len-1]);
-                       output_len += 2;
-               }
-               buf[output_len++] = 0;
-               serv_puts((char *)buf);
-               output_len = 0;
-       }
+       ServBuf = StrBufRFC2047encodeMessage(SendMeEncoded);
+       serv_putbuf(ServBuf);
+       FreeStrBuf(&ServBuf);
 }