* rfc1524.
*/
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <ctype.h>
-
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <errno.h>
-#include <unistd.h>
-
-#include <lib-lib/mem.h>
-#include <lib-lib/str.h>
-#include <lib-lib/ascii.h>
-#include <lib-lib/macros.h>
-#include <lib-lib/file.h>
+#include <lib-lib/lib-lib.h>
#include <lib-sys/unix.h>
#include "mime.h"
#include "attach.h"
+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);
+}
+
+/* returns 1 if Mutt can't display this type of data, 0 otherwise */
+int rfc1524_mailcap_isneeded(BODY * m)
+{
+ int tok;
+
+ switch (m->type) {
+ case TYPEMULTIPART:
+ case TYPEMESSAGE:
+ return 0;
+
+ case TYPEAPPLICATION:
+ return !(mutt_is_application_pgp(m) || mutt_is_application_smime(m));
+
+ case TYPETEXT:
+ tok = mime_which_token(m->subtype, -1);
+ if (tok == MIME_PLAIN
+ || tok == MIME_RFC822_HEADERS
+ || tok == MIME_ENRICHED)
+ return 0;
+ break;
+ }
+
+ return 1;
+}
+
/* The command semantics include the following:
* %s is the filename that contains the mail body data
* %t is the content type, like text/plain
rfc1524_entry_init(entry);
}
} /* while (!found && (buf = mutt_read_line ())) */
- fclose (fp);
+ m_fclose(&fp);
error:
p_delete(&buf);
m_strcpy(newfile, nflen, oldfile);
}
else if (!oldfile) {
- mutt_expand_fmt (newfile, nflen, nametemplate, "mutt");
- }
- else { /* oldfile && nametemplate */
+ m_file_fmt(newfile, nflen, nametemplate, "mutt");
+ } else { /* oldfile && nametemplate */
/* first, compare everything left from the "%s"