]> code.citadel.org Git - citadel.git/blobdiff - citadel/msgbase.c
HUGE PATCH. This moves all of mime_parser.c and all
[citadel.git] / citadel / msgbase.c
index d5f04195a8af75c0c331a31fb7b7c430cbc54eb1..48f2eb727afe8a06ee17c44a50d77ba6b8083cbb 100644 (file)
@@ -31,6 +31,7 @@
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <regex.h>
+#include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
 #include "serv_extensions.h"
@@ -44,8 +45,6 @@
 #include "file_ops.h"
 #include "config.h"
 #include "control.h"
-#include "tools.h"
-#include "mime_parser.h"
 #include "html.h"
 #include "genstamp.h"
 #include "internet_addressing.h"
@@ -1865,7 +1864,7 @@ START_TEXT:
                                *choose_preferred, *fixed_output_pre,
                                *fixed_output_post, (void *)&ma, 0);
                        mime_parser(mptr, NULL,
-                               *output_preferred, NULL, NULL, (void *)&ma, 0);
+                               *output_preferred, NULL, NULL, (void *)&ma, CC->msg4_dont_decode);
                }
                else {
                        ma.use_fo_hooks = 1;
@@ -1974,9 +1973,14 @@ void cmd_msg4(char *cmdbuf)
  */
 void cmd_msgp(char *cmdbuf)
 {
-       safestrncpy(CC->preferred_formats, cmdbuf,
-                       sizeof(CC->preferred_formats));
-       cprintf("%d ok\n", CIT_OK);
+       if (!strcasecmp(cmdbuf, "dont_decode")) {
+               CC->msg4_dont_decode = 1;
+               cprintf("%d MSG4 will not pre-decode messages.\n", CIT_OK);
+       }
+       else {
+               safestrncpy(CC->preferred_formats, cmdbuf, sizeof(CC->preferred_formats));
+               cprintf("%d Preferred MIME formats have been set.\n", CIT_OK);
+       }
 }
 
 
@@ -4229,7 +4233,8 @@ void CtdlWriteObject(char *req_room,              /* Room to stuff it in */
                CtdlEncodeBase64(
                        &encoded_message[strlen(encoded_message)],
                        raw_message,
-                       (int)raw_length
+                       (int)raw_length,
+                       0
                );
        }
        else {