begin to work on a lib-mime that will hold most of the MIME related stuff.
authorPierre Habouzit <madcoder@debian.org>
Wed, 1 Nov 2006 22:54:47 +0000 (23:54 +0100)
committerPierre Habouzit <madcoder@debian.org>
Wed, 1 Nov 2006 22:54:47 +0000 (23:54 +0100)
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
33 files changed:
Makefile.am
attach.c
base64.c
commands.c
compose.c
configure.ac
copy.c
crypt-gpgme.c
crypt.c
gnupgparse.c
handler.c
hcache.c
hdrline.c
lib-mime/Makefile.am [new file with mode: 0644]
lib-mime/rfc2231.c [moved from rfc2231.c with 91% similarity]
mime.h [deleted file]
muttlib.c
nntp/newsrc.c
nntp/nntp.c
parse.c
pattern.c
pgp.c
pgpkey.c
pgpmicalg.c
postpone.c
recvattach.c
recvcmd.c
rfc2047.c
rfc2231.h [deleted file]
send.c
sendlib.c
smime.c
url.c

index 3abf33b..4710973 100644 (file)
@@ -19,7 +19,7 @@ NNTP_SUBDIR = nntp
 NNTP_INCLUDES = -I$(top_srcdir)/nntp
 endif
 
-SUBDIRS = intl m4 po lib-lib lib-hash doc contrib lib $(IMAP_SUBDIR) $(POP_SUBDIR) $(NNTP_SUBDIR)
+SUBDIRS = intl m4 po lib-lib lib-mime lib-hash doc contrib lib $(IMAP_SUBDIR) $(POP_SUBDIR) $(NNTP_SUBDIR)
 
 bin_SCRIPTS = muttngbug fleang
 
@@ -37,17 +37,18 @@ muttng_SOURCES = $(BUILT_SOURCES) \
        main.c mbox.c mbyte.c menu.c mh.c muttlib.c mutt_idna.c mx.c \
        pager.c parse.c pattern.c postpone.c \
        query.c \
-       recvattach.c recvcmd.c rfc822.c rfc1524.c rfc2047.c rfc2231.c rfc3676.c \
+       recvattach.c recvcmd.c rfc822.c rfc1524.c rfc2047.c rfc3676.c \
        score.c send.c sendlib.c sidebar.c signal.c sort.c state.c status.c system.c \
        thread.c \
        url.c utf8.c \
        wcwidth.c
 
 muttng_LDADD = @MUTT_LIB_OBJECTS@ @LIBOBJS@ $(LIBIMAP) $(LIBPOP) $(LIBNNTP) \
-       -Llib-lib -llib -Llib-hash -lhash -Llib -lsane $(MUTTLIBS) $(INTLLIBS) $(LIBICONV)
+       -Llib-lib -llib -Llib-mime -lmime -Llib-hash -lhash -Llib -lsane $(MUTTLIBS) $(INTLLIBS) $(LIBICONV)
 
 muttng_DEPENDENCIES = @MUTT_LIB_OBJECTS@ @LIBOBJS@ \
                      $(top_builddir)/lib-lib/liblib.a \
+                     $(top_builddir)/lib-mime/libmime.a \
                      $(top_builddir)/lib-hash/libhash.a \
                      $(top_builddir)/lib/libsane.a \
        $(LIBIMAPDEPS) $(LIBPOPDEPS) $(LIBNNTPDEPS) $(INTLDEPS)
@@ -86,7 +87,7 @@ EXTRA_DIST = config.rpath  COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO \
        mime.h mutt.h mutt_curses.h mutt_menu.h \
        mutt_sasl.h mutt_socket.h mutt_ssl.h mutt_tunnel.h \
        mbox.h mh.h mx.h pager.h pgp.h protos.h rfc1524.h rfc2047.h \
-       rfc2231.h rfc822.h rfc3676.h \
+       rfc822.h rfc3676.h \
        sort.h mime.types autogen.sh \
        _regex.h OPS.MIX remailer.c remailer.h browser.h state.h \
        mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h Muttngrc.head Muttngrc \
index 4afb1fb..c590309 100644 (file)
--- a/attach.c
+++ b/attach.c
@@ -18,6 +18,8 @@
 #include <lib-lib/file.h>
 #include <lib-lib/macros.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "handler.h"
 #include "recvattach.h"
@@ -25,7 +27,6 @@
 #include "mutt_curses.h"
 #include "keymap.h"
 #include "rfc1524.h"
-#include "mime.h"
 #include "pager.h"
 #include "copy.h"
 #include "mx.h"
index 728171b..0b72009 100644 (file)
--- a/base64.c
+++ b/base64.c
@@ -43,8 +43,9 @@
 # include "config.h"
 #endif
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
-#include "mime.h"
 
 /* raw bytes to null-terminated base 64 string */
 void mutt_to_base64 (unsigned char *out, const unsigned char *in, size_t len,
index edc09da..b80e250 100644 (file)
 #include <lib-lib/macros.h>
 #include <lib-lib/ascii.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "recvattach.h"
 #include "mutt_curses.h"
 #include "mutt_menu.h"
-#include "mime.h"
 #include "sort.h"
 #include "copy.h"
 #include "mx.h"
index f94fe4c..91a2894 100644 (file)
--- a/compose.c
+++ b/compose.c
 #include <lib-lib/file.h>
 #include <lib-lib/mapping.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "mutt_curses.h"
 #include "mutt_idna.h"
 #include "mutt_menu.h"
 #include "rfc1524.h"
-#include "mime.h"
 #include "attach.h"
 #include "recvattach.h"
 #include "sort.h"
index 9a04920..5b381ac 100644 (file)
@@ -1171,6 +1171,7 @@ AC_OUTPUT(Makefile intl/Makefile m4/Makefile
         po/Makefile.in doc/Makefile contrib/Makefile
         muttbug.sh
         lib-lib/Makefile
+        lib-mime/Makefile
         lib-hash/Makefile
         lib/Makefile
         imap/Makefile
diff --git a/copy.c b/copy.c
index 27cf073..d0af92d 100644 (file)
--- a/copy.c
+++ b/copy.c
 #include <lib-lib/file.h>
 #include <lib-lib/ascii.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "handler.h"
 #include "mx.h"
 #include "copy.h"
 #include "rfc2047.h"
-#include "mime.h"
 #include "mutt_crypt.h"
 #include "mutt_idna.h"
 
index e920128..dfd2645 100644 (file)
 #include <lib-lib/macros.h>
 #include <lib-lib/file.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "mutt_crypt.h"
 #include "mutt_menu.h"
 #include "mutt_curses.h"
 #include "handler.h"
 #include "enter.h"
-#include "mime.h"
 #include "copy.h"
 #include "pager.h"
 #include "recvattach.h"
diff --git a/crypt.c b/crypt.c
index b10ed05..ab611bf 100644 (file)
--- a/crypt.c
+++ b/crypt.c
 #include <lib-lib/mem.h>
 #include <lib-lib/macros.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "handler.h"
 #include "mutt_curses.h"
-#include "mime.h"
 #include "copy.h"
 #include "mutt_crypt.h"
 #include "pgp.h"
index 1f84aaf..a05d2da 100644 (file)
 #include <lib-lib/mem.h>
 #include <lib-lib/str.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "pgp.h"
 #include "charset.h"
 
 /* for hexval */
-#include "mime.h"
 
 #include "lib/debug.h"
 
index 2bee349..3a9dd14 100644 (file)
--- a/handler.c
+++ b/handler.c
@@ -24,6 +24,8 @@
 #include <lib-lib/macros.h>
 #include <lib-lib/file.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "recvattach.h"
 #include "handler.h"
@@ -31,7 +33,6 @@
 #include "rfc1524.h"
 #include "rfc3676.h"
 #include "keymap.h"
-#include "mime.h"
 #include "copy.h"
 #include "charset.h"
 #include "mutt_crypt.h"
index 877afd0..e6a1b6d 100644 (file)
--- a/hcache.c
+++ b/hcache.c
 #include <lib-lib/mem.h>
 #include <lib-hash/hash.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #ifdef USE_IMAP
 #include "message.h"
 #endif
-#include "mime.h"
 #include "mx.h"
 #include "lib.h"
 
index 91d469a..a568c9a 100644 (file)
--- a/hdrline.c
+++ b/hdrline.c
 #include "charset.h"
 #include "mutt_crypt.h"
 #include "mutt_idna.h"
-#include "mime.h"
 
 #include <lib-lib/str.h>
+
+#include <lib-mime/mime.h>
+
 #include "lib/rx.h"
 
 #include <ctype.h>
diff --git a/lib-mime/Makefile.am b/lib-mime/Makefile.am
new file mode 100644 (file)
index 0000000..1e8cda2
--- /dev/null
@@ -0,0 +1,6 @@
+noinst_LIBRARIES = libmime.a
+
+libmime_a_SOURCES = mime.h rfc2231.c
+
+noinst_HEADERS    = mime.h
+
similarity index 91%
rename from rfc2231.c
rename to lib-mime/rfc2231.c
index 0f9a2f5..b21c425 100644 (file)
--- a/rfc2231.c
@@ -1,3 +1,22 @@
+/*
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or (at
+ *  your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful, but
+ *  WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ *  MA 02110-1301, USA.
+ *
+ *  Copyright © 2006 Pierre Habouzit
+ */
+
 /*
  * Copyright notice from original mutt:
  * Copyright (C) 1999-2000 Thomas Roessler <roessler@does-not-exist.org>
 #include <lib-lib/str.h>
 #include <lib-lib/ascii.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
-#include "mime.h"
 #include "charset.h"
 #include "rfc2047.h"
-#include "rfc2231.h"
 
 #include <ctype.h>
 #include <string.h>
diff --git a/mime.h b/mime.h
deleted file mode 100644 (file)
index 887a4c4..0000000
--- a/mime.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright notice from original mutt:
- * Copyright (C) 1996-2000 Michael R. Elkins <me@mutt.org>
- *
- * This file is part of mutt-ng, see http://www.muttng.org/.
- * It's licensed under the GNU General Public License,
- * please see the file GPL in the top level source directory.
- */
-
-/* Content-Type */
-enum {
-  TYPEOTHER,
-  TYPEAUDIO,
-  TYPEAPPLICATION,
-  TYPEIMAGE,
-  TYPEMESSAGE,
-  TYPEMODEL,
-  TYPEMULTIPART,
-  TYPETEXT,
-  TYPEVIDEO,
-  TYPEANY
-};
-
-/* Content-Transfer-Encoding */
-enum {
-  ENCOTHER,
-  ENC7BIT,
-  ENC8BIT,
-  ENCQUOTEDPRINTABLE,
-  ENCBASE64,
-  ENCBINARY,
-  ENCUUENCODED
-};
-
-/* Content-Disposition values */
-enum {
-  DISPINLINE,
-  DISPATTACH,
-  DISPFORMDATA
-};
-
-/* MIME encoding/decoding global vars */
-
-#define is_multipart(x) \
-    ((x)->type == TYPEMULTIPART \
-     || ((x)->type == TYPEMESSAGE && (!strcasecmp((x)->subtype, "rfc822") \
-                                     || !strcasecmp((x)->subtype, "news"))))
-
-extern const char *BodyTypes[];
-extern const char *BodyEncodings[];
-
-#define TYPE(X) ((X->type == TYPEOTHER) && (X->xtype != NULL) ? X->xtype : BodyTypes[(X->type)])
-#define ENCODING(X) BodyEncodings[(X)]
-
-/* other MIME-related global variables */
-#ifndef _SENDLIB_C
-extern char MimeSpecials[];
-#endif
index 04c0b3a..f82560a 100644 (file)
--- a/muttlib.c
+++ b/muttlib.c
 #include <lib-lib/buffer.h>
 #include <lib-lib/file.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "mutt_curses.h"
-#include "mime.h"
 #include "mx.h"
 #include "url.h"
 #include "attach.h"
index 94585e7..1af28c2 100644 (file)
 #include <lib-lib/file.h>
 #include <lib-lib/macros.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "mutt_curses.h"
 #include "sort.h"
 #include "mx.h"
-#include "mime.h"
 #include "nntp.h"
 #include "rfc822.h"
 #include "rfc1524.h"
index 5ad2719..d5b7991 100644 (file)
 #include <lib-lib/file.h>
 #include <lib-lib/macros.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "mutt_curses.h"
 #include "sort.h"
 #include "mx.h"
 #include "mx_nntp.h"
-#include "mime.h"
 #include "rfc1524.h"
 #include "rfc2047.h"
 #include "nntp.h"
diff --git a/parse.c b/parse.c
index b415ad3..8175f6f 100644 (file)
--- a/parse.c
+++ b/parse.c
 #include <lib-lib/macros.h>
 #include <lib-lib/buffer.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "recvattach.h"
 #include "mx.h"
-#include "mime.h"
 #include "rfc2047.h"
-#include "rfc2231.h"
 #include "mutt_crypt.h"
 #include "url.h"
 
index b1dba84..7a535bb 100644 (file)
--- a/pattern.c
+++ b/pattern.c
 #include <lib-lib/buffer.h>
 #include <lib-lib/mapping.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "handler.h"
 #include "enter.h"
 #include "mx.h"
 #include "keymap.h"
 #include "copy.h"
-#include "mime.h"
 
 
 #ifdef USE_IMAP
diff --git a/pgp.c b/pgp.c
index bdb78d6..bdcba07 100644 (file)
--- a/pgp.c
+++ b/pgp.c
 #include <lib-lib/macros.h>
 #include <lib-lib/file.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "handler.h"
 #include "mutt_curses.h"
 #include "pgp.h"
-#include "mime.h"
 #include "copy.h"
 #include "attach.h"
 
index a4689ab..425289e 100644 (file)
--- a/pgpkey.c
+++ b/pgpkey.c
 #include <lib-lib/macros.h>
 #include <lib-lib/file.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "recvattach.h"
 #include "mutt_curses.h"
 #include "mutt_menu.h"
-#include "mime.h"
 #include "pgp.h"
 #include "pager.h"
 #include "sort.h"
index 7010761..1c322be 100644 (file)
@@ -19,7 +19,6 @@
 #include "handler.h"
 #include "pgp.h"
 #include "pgppacket.h"
-#include "mime.h"
 #include "charset.h"
 
 #include <stdio.h>
@@ -28,6 +27,9 @@
 #include <ctype.h>
 
 #include <lib-lib/file.h>
+
+#include <lib-mime/mime.h>
+
 #include "lib/debug.h"
 
 static struct {
index 73a1057..fd338e5 100644 (file)
 #include <lib-lib/file.h>
 #include <lib-lib/mapping.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "handler.h"
 #include "mutt_menu.h"
 #include "rfc1524.h"
-#include "mime.h"
 #include "sort.h"
 #include "thread.h"
 #include "mx.h"
index 1121d2d..fd064cc 100644 (file)
@@ -19,6 +19,8 @@
 #include <lib-lib/file.h>
 #include <lib-lib/mapping.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "handler.h"
@@ -26,7 +28,6 @@
 #include "mutt_curses.h"
 #include "mutt_menu.h"
 #include "rfc1524.h"
-#include "mime.h"
 #include "attach.h"
 #include "mx.h"
 #include "copy.h"
index 7cd9a16..f5fe28b 100644 (file)
--- a/recvcmd.c
+++ b/recvcmd.c
@@ -17,6 +17,8 @@
 #include <lib-lib/file.h>
 #include <lib-lib/mapping.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "state.h"
@@ -25,7 +27,6 @@
 #include "mutt_curses.h"
 #include "mutt_menu.h"
 #include "rfc1524.h"
-#include "mime.h"
 #include "attach.h"
 #include "mx.h"
 #include "copy.h"
index 9ac1cd7..d8e4a5d 100644 (file)
--- a/rfc2047.c
+++ b/rfc2047.c
@@ -16,8 +16,9 @@
 #include <lib-lib/str.h>
 #include <lib-lib/ascii.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
-#include "mime.h"
 #include "charset.h"
 #include "rfc2047.h"
 #include "thread.h"
diff --git a/rfc2231.h b/rfc2231.h
deleted file mode 100644 (file)
index f088ddd..0000000
--- a/rfc2231.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/*
- * Copyright notice from original mutt:
- * Copyright (C) 1999-2000 Thomas Roessler <roessler@does-not-exist.org>
- *
- * This file is part of mutt-ng, see http://www.muttng.org/.
- * It's licensed under the GNU General Public License,
- * please see the file GPL in the top level source directory.
- */
-
-void rfc2231_decode_parameters (PARAMETER **);
-int rfc2231_encode_string (char **);
diff --git a/send.c b/send.c
index dfed65c..30db12a 100644 (file)
--- a/send.c
+++ b/send.c
 #include <lib-lib/macros.h>
 #include <lib-lib/file.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "mutt_curses.h"
 #include "rfc2047.h"
 #include "rfc3676.h"
 #include "keymap.h"
-#include "mime.h"
 #include "copy.h"
 #include "mx.h"
 #include "mutt_crypt.h"
index 7c22e2b..b82ff18 100644 (file)
--- a/sendlib.c
+++ b/sendlib.c
 #include <lib-lib/macros.h>
 #include <lib-lib/file.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "handler.h"
 #include "recvattach.h"
 #include "mutt_curses.h"
 #include "rfc2047.h"
-#include "rfc2231.h"
 #include "mx.h"
-#include "mime.h"
 #include "copy.h"
 #include "pager.h"
 #include "charset.h"
diff --git a/smime.c b/smime.c
index 5a8f7e7..092c1bd 100644 (file)
--- a/smime.c
+++ b/smime.c
 #include <lib-lib/macros.h>
 #include <lib-lib/file.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "enter.h"
 #include "handler.h"
 #include "mutt_curses.h"
 #include "mutt_menu.h"
-#include "smime.h"
-#include "mime.h"
 #include "copy.h"
 
 #include "lib/debug.h"
diff --git a/url.c b/url.c
index 67a94cd..55204c5 100644 (file)
--- a/url.c
+++ b/url.c
 #include <lib-lib/ascii.h>
 #include <lib-lib/mapping.h>
 
+#include <lib-mime/mime.h>
+
 #include "mutt.h"
 #include "url.h"
 
-#include "mime.h"
 
 #include <ctype.h>