oops, I did it again: simplify a lot of code :]
[apps/madmutt.git] / lib-mime / mime.c
index 7c6a4b6..43ccfd3 100644 (file)
  *
  *  Copyright © 2006 Pierre Habouzit
  */
+/*
+ * Copyright notice from original mutt:
+ * Copyright (C) 1996-2000 Michael R. Elkins <me@mutt.org>
+ * Copyright (C) 1999-2000 Thomas Roessler <roessler@does-not-exist.org>
+ */
 
-#include <lib-lib/ascii.h>
-#include <lib-lib/url.h>
+#include <lib-lib/lib-lib.h>
 
 #include "mime.h"
 
@@ -132,18 +136,6 @@ void parameter_set_boundary(parameter_t **parm)
 /* XXX                                                                      */
 /****************************************************************************/
 
-void rfc1524_entry_wipe(rfc1524_entry *p)
-{
-    p_delete(&p->command);
-    p_delete(&p->testcommand);
-    p_delete(&p->composecommand);
-    p_delete(&p->composetypecommand);
-    p_delete(&p->editcommand);
-    p_delete(&p->printcommand);
-    p_delete(&p->nametemplate);
-    p_delete(&p->convert);
-}
-
 void envelope_wipe(ENVELOPE *p)
 {
     address_list_wipe(&p->return_path);
@@ -209,13 +201,48 @@ void header_wipe(HEADER *h)
     p_delete(&h->maildir_flags);
     p_delete(&h->tree);
     p_delete(&h->path);
-#ifdef MIXMASTER
     string_list_wipe(&h->chain);
-#endif
     p_delete(&h->data);
 }
 
 
+/****************************************************************************/
+/* misc functions                                                           */
+/****************************************************************************/
+
+int mutt_is_message_type(BODY *b)
+{
+    int tok;
+
+    if (b->type != TYPEMESSAGE)
+        return 0;
+
+    tok = mime_which_token(b->subtype, -1);
+    return tok == MIME_RFC822 || tok == MIME_NEWS;
+}
+
+int mutt_is_text_part(BODY * b)
+{
+    char *s = b->subtype;
+
+    if (mutt_is_application_pgp(b))
+        return 0;
+
+    switch (b->type) {
+      case TYPETEXT:
+        return 1;
+
+      case TYPEMESSAGE:
+        return mime_which_token(s, -1) == MIME_DELIVERY_STATUS;
+
+      case TYPEAPPLICATION:
+        return mime_which_token(s, -1) == MIME_PGP_KEYS;
+
+      default:
+        return 0;
+    }
+}
+
 #include "mutt.h"
 
 int url_parse_mailto(ENVELOPE *e, char **body, const char *src)