]> diplodocus.org Git - nmh/blobdiff - uip/mhbuild.c
sbr/utils.c: Delete dead-code open_form(); not called.
[nmh] / uip / mhbuild.c
index de0fdaae3579442d1eedbf486138c5cbe6e97c96..b39cc80989c6044ad10094cf8122098e7eafbce5 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * mhbuild.c -- expand/translate MIME composition files
+/* mhbuild.c -- expand/translate MIME composition files
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -9,7 +7,6 @@
 
 #include <h/mh.h>
 #include <fcntl.h>
 
 #include <h/mh.h>
 #include <fcntl.h>
-#include <h/signals.h>
 #include <h/md5.h>
 #include <h/mts.h>
 #include <h/tws.h>
 #include <h/md5.h>
 #include <h/mts.h>
 #include <h/tws.h>
 #include <h/mhparse.h>
 #include <h/mhcachesbr.h>
 #include <h/utils.h>
 #include <h/mhparse.h>
 #include <h/mhcachesbr.h>
 #include <h/utils.h>
+#include "../sbr/m_maildir.h"
+#include "../sbr/m_mktemp.h"
+#include "mhfree.h"
+#include "mhoutsbr.h"
 
 #define MHBUILD_SWITCHES \
     X("auto", 0, AUTOSW) \
 
 #define MHBUILD_SWITCHES \
     X("auto", 0, AUTOSW) \
@@ -47,7 +48,7 @@
     X("version", 0, VERSIONSW) \
     X("help", 0, HELPSW) \
     X("debug", -5, DEBUGSW) \
     X("version", 0, VERSIONSW) \
     X("help", 0, HELPSW) \
     X("debug", -5, DEBUGSW) \
-    X("dist", -4, DISTSW) \
+    X("dist", 0, DISTSW) \
 
 #define X(sw, minchars, id) id,
 DEFINE_SWITCH_ENUM(MHBUILD);
 
 #define X(sw, minchars, id) id,
 DEFINE_SWITCH_ENUM(MHBUILD);
@@ -57,9 +58,11 @@ DEFINE_SWITCH_ENUM(MHBUILD);
 DEFINE_SWITCH_ARRAY(MHBUILD, switches);
 #undef X
 
 DEFINE_SWITCH_ARRAY(MHBUILD, switches);
 #undef X
 
+/* utf-8 is for Email Address Internationalization, using SMTPUTF8. */
 #define MIMEENCODING_SWITCHES \
     X("base64", 0, BASE64SW) \
     X("quoted-printable", 0, QUOTEDPRINTSW) \
 #define MIMEENCODING_SWITCHES \
     X("base64", 0, BASE64SW) \
     X("quoted-printable", 0, QUOTEDPRINTSW) \
+    X("utf-8", 0, UTF8SW) \
 
 #define X(sw, minchars, id) id,
 DEFINE_SWITCH_ENUM(MIMEENCODING);
 
 #define X(sw, minchars, id) id,
 DEFINE_SWITCH_ENUM(MIMEENCODING);
@@ -69,12 +72,6 @@ DEFINE_SWITCH_ENUM(MIMEENCODING);
 DEFINE_SWITCH_ARRAY(MIMEENCODING, encodingswitches);
 #undef X
 
 DEFINE_SWITCH_ARRAY(MIMEENCODING, encodingswitches);
 #undef X
 
-/* mhcachesbr.c */
-extern int rcachesw;
-extern int wcachesw;
-extern char *cache_public;
-extern char *cache_private;
-
 int debugsw = 0;
 
 int listsw   = 0;
 int debugsw = 0;
 
 int listsw   = 0;
@@ -92,10 +89,6 @@ static int unlink_outfile = 0;
 
 static void unlink_done (int) NORETURN;
 
 
 static void unlink_done (int) NORETURN;
 
-/* mhbuildsbr.c */
-int output_message (CT, char *);
-int output_message_fp (CT, FILE *, char*);
-
 
 int
 main (int argc, char **argv)
 
 int
 main (int argc, char **argv)
@@ -113,7 +106,7 @@ main (int argc, char **argv)
     int header_encoding = CE_UNKNOWN;
     size_t n;
 
     int header_encoding = CE_UNKNOWN;
     size_t n;
 
-    if (nmh_init(argv[0], 1)) { return 1; }
+    if (nmh_init(argv[0], 2)) { return 1; }
 
     done=unlink_done;
 
 
     done=unlink_done;
 
@@ -168,9 +161,9 @@ main (int argc, char **argv)
            do_cache: ;
                if (!(cp = *argp++) || *cp == '-')
                    adios (NULL, "missing argument to %s", argp[-2]);
            do_cache: ;
                if (!(cp = *argp++) || *cp == '-')
                    adios (NULL, "missing argument to %s", argp[-2]);
-               switch (*icachesw = smatch (cp, caches)) {
+               switch (*icachesw = smatch (cp, cache_policy)) {
                case AMBIGSW:
                case AMBIGSW:
-                   ambigsw (cp, caches);
+                   ambigsw (cp, cache_policy);
                    done (1);
                case UNKWNSW:
                    adios (NULL, "%s unknown", cp);
                    done (1);
                case UNKWNSW:
                    adios (NULL, "%s unknown", cp);
@@ -245,6 +238,9 @@ main (int argc, char **argv)
                case QUOTEDPRINTSW:
                    header_encoding = CE_QUOTED;
                    break;
                case QUOTEDPRINTSW:
                    header_encoding = CE_QUOTED;
                    break;
+               case UTF8SW:
+                   header_encoding = CE_8BIT;
+                   break;
                default:
                    adios (NULL, "Internal error: algorithm %s", cp);
                }
                default:
                    adios (NULL, "Internal error: algorithm %s", cp);
                }
@@ -430,7 +426,7 @@ main (int argc, char **argv)
 }
 
 
 }
 
 
-static void
+static void NORETURN
 unlink_done (int status)
 {
     /*
 unlink_done (int status)
 {
     /*