]> diplodocus.org Git - nmh/blobdiff - uip/mhbuild.c
sbr/utils.c: Delete dead-code open_form(); not called.
[nmh] / uip / mhbuild.c
index a0903c571a9d0b027531f6e913ed25cfb46c25fd..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
 #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) \
@@ -56,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);
@@ -68,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;
@@ -91,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)
@@ -112,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;
 
@@ -167,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);
@@ -244,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);
                }
@@ -429,7 +426,7 @@ main (int argc, char **argv)
 }
 
 
 }
 
 
-static void
+static void NORETURN
 unlink_done (int status)
 {
     /*
 unlink_done (int status)
 {
     /*