mhbuild: Removed -rfc934mode switch, which is only useful for non-MIME systems.
[mmh] / uip / mhbuild.c
index f659a30..fd6cee0 100644 (file)
 #include <time.h>
 
 static struct swit switches[] = {
-#define EBCDICSW  0
-       { "ebcdicsafe", 0 },
-#define NEBCDICSW  1
-       { "noebcdicsafe", 0 },
-#define HEADSW  2
+#define HEADSW  0
        { "headers", 0 },
-#define NHEADSW  3
+#define NHEADSW  1
        { "noheaders", 0 },
-#define LISTSW  4
+#define LISTSW  2
        { "list", 0 },
-#define NLISTSW  5
+#define NLISTSW  3
        { "nolist", 0 },
-#define SIZESW  6
-       { "realsize", 0 },
-#define NSIZESW  7
-       { "norealsize", 0 },
-#define RFC934SW  8
-       { "rfc934mode", 0 },
-#define NRFC934SW  9
-       { "norfc934mode", 0 },
-#define VERBSW  10
+#define VERBSW  4
        { "verbose", 0 },
-#define NVERBSW  11
+#define NVERBSW  5
        { "noverbose", 0 },
-#define CONTENTIDSW  12
+#define CONTENTIDSW  6
        { "contentid", 0 },
-#define NCONTENTIDSW  13
+#define NCONTENTIDSW  7
        { "nocontentid", 0 },
-#define VERSIONSW  14
+#define VERSIONSW  8
        { "version", 0 },
-#define HELPSW  15
+#define HELPSW  9
        { "help", 0 },
-#define DEBUGSW  16
+#define DEBUGSW  10
        { "debug", -5 },
        { NULL, 0 }
 };
@@ -86,9 +74,6 @@ static char prefix[] = "----- =_aaaaaaaaaa";
 int make_intermediates(char *);
 void content_error(char *, CT, char *, ...);
 
-/* ftpsbr.c */
-int ftp_get(char *, char *, char *, char *, char *, char *, int, int);
-
 /* mhfree.c */
 void free_content(CT);
 void free_ctinfo(CT);
@@ -110,9 +95,7 @@ static CT build_mime(char *);
 int debugsw = 0;
 int verbosw = 0;
 
-int ebcdicsw = 0;
 int listsw   = 0;
-int rfc934sw = 0;
 int contentidsw = 1;
 
 /*
@@ -131,7 +114,7 @@ int output_message(CT, char *);
 int output_message_fp(CT, FILE *, char*);
 
 /* mhlistsbr.c */
-int list_all_messages(CT *, int, int, int, int);
+int list_all_messages(CT *, int, int, int);
 
 /* mhmisc.c */
 void set_endian(void);
@@ -143,7 +126,7 @@ void free_content(CT);
 int
 main(int argc, char **argv)
 {
-       int sizesw = 1, headsw = 1;
+       int headsw = 1;
        char *cp, buf[BUFSIZ];
        char buffer[BUFSIZ], *compfile = NULL;
        char **argp, **arguments;
@@ -190,13 +173,6 @@ main(int argc, char **argv)
                                print_version(invo_name);
                                done(1);
 
-                       case EBCDICSW:
-                               ebcdicsw++;
-                               continue;
-                       case NEBCDICSW:
-                               ebcdicsw = 0;
-                               continue;
-
                        case HEADSW:
                                headsw++;
                                continue;
@@ -211,20 +187,6 @@ main(int argc, char **argv)
                                listsw = 0;
                                continue;
 
-                       case RFC934SW:
-                               rfc934sw++;
-                               continue;
-                       case NRFC934SW:
-                               rfc934sw = 0;
-                               continue;
-
-                       case SIZESW:
-                               sizesw++;
-                               continue;
-                       case NSIZESW:
-                               sizesw = 0;
-                               continue;
-
                        case CONTENTIDSW:
                                contentidsw = 1;
                                continue;
@@ -355,7 +317,7 @@ main(int argc, char **argv)
        ** List the message info
        */
        if (listsw)
-               list_all_messages(cts, headsw, sizesw, verbosw, debugsw);
+               list_all_messages(cts, headsw, verbosw, debugsw);
 
        /* Rename composition draft */
        snprintf(buffer, sizeof(buffer), "%s.orig", m_backup(compfile));
@@ -1144,42 +1106,6 @@ set_id(CT ct, int top)
 }
 
 
-static char ebcdicsafe[0x100] = {
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
-       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-       0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-       0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01,
-       0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-       0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
-       0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-
 /*
 ** Fill out, or expand the various contents in the composition
 ** draft.  Read-in any necessary files.  Parse and execute any
@@ -1219,37 +1145,8 @@ compose_content(CT ct)
                                return NOTOK;
                }
 
-               /*
-               ** If the -rfc934mode switch is given, then check all
-               ** the subparts of a multipart/digest.  If they are all
-               ** message/rfc822, then mark this content and all
-               ** subparts with the rfc934 compatibility mode flag.
-               */
-               if (rfc934sw && ct->c_subtype == MULTI_DIGEST) {
-                       int is934 = 1;
-
-                       for (part = m->mp_parts; part; part = part->mp_next) {
-                               CT p = part->mp_part;
-
-                               if (p->c_subtype != MESSAGE_RFC822) {
-                                       is934 = 0;
-                                       break;
-                               }
-                       }
-                       ct->c_rfc934 = is934;
-                       for (part = m->mp_parts; part; part = part->mp_next) {
-                               CT p = part->mp_part;
-
-                               if ((p->c_rfc934 = is934))
-                                       p->c_end++;
-                       }
-               }
-
                if (listsw) {
                        ct->c_end = (partnum = strlen(prefix) + 2) + 2;
-                       if (ct->c_rfc934)
-                               ct->c_end += 1;
-
                        for (part = m->mp_parts; part; part = part->mp_next)
                                ct->c_end += part->mp_part->c_end + partnum;
                }
@@ -1426,7 +1323,6 @@ scan_content(CT ct)
        int checklinelen = 0, linelen = 0;  /* check for long lines */
        int checkboundary = 0, boundaryclash = 0; /* check if clashes with multipart boundary   */
        int checklinespace = 0, linespace = 0;  /* check if any line ends with space */
-       int checkebcdic = 0, ebcdicunsafe = 0;  /* check if contains ebcdic unsafe characters */
        unsigned char *cp = NULL, buffer[BUFSIZ];
        struct text *t = NULL;
        FILE *in = NULL;
@@ -1473,11 +1369,9 @@ scan_content(CT ct)
                check8bit = 1;
                checkboundary = 1;
                if (ct->c_subtype == TEXT_PLAIN) {
-                       checkebcdic = 0;
                        checklinelen = 0;
                        checklinespace = 0;
                } else {
-                       checkebcdic = ebcdicsw;
                        checklinelen = 1;
                        checklinespace = 1;
                }
@@ -1485,7 +1379,6 @@ scan_content(CT ct)
 
        case CT_APPLICATION:
                check8bit = 1;
-               checkebcdic = ebcdicsw;
                checklinelen = 1;
                checklinespace = 1;
                checkboundary = 1;
@@ -1493,7 +1386,6 @@ scan_content(CT ct)
 
        case CT_MESSAGE:
                check8bit = 0;
-               checkebcdic = 0;
                checklinelen = 0;
                checklinespace = 0;
                checkboundary = 1;
@@ -1507,7 +1399,6 @@ scan_content(CT ct)
                ** since we are forcing use of base64.
                */
                check8bit = 0;
-               checkebcdic = 0;
                checklinelen = 0;
                checklinespace = 0;
                checkboundary = 0;
@@ -1533,16 +1424,6 @@ scan_content(CT ct)
                                                /* no need to keep checking */
                                                check8bit = 0;
                                        }
-                                       /*
-                                       ** Check if character is ebcdic-safe.
-                                       ** We only check this if also checking
-                                       ** for 8bit data.
-                                       */
-                                       if (checkebcdic && !ebcdicsafe[*cp & 0xff]) {
-                                               ebcdicunsafe = 1;
-                                               /* no need to keep checking */
-                                               checkebcdic = 0;
-                                       }
                                }
                        }
 
@@ -1619,7 +1500,7 @@ scan_content(CT ct)
                        *ep = cp;
                }
 
-               if (contains8bit || ebcdicunsafe || linelen || linespace)
+               if (contains8bit || linelen || linespace)
                        ct->c_encoding = CE_QUOTED;
                else
                        ct->c_encoding = CE_7BIT;
@@ -1627,7 +1508,7 @@ scan_content(CT ct)
 
        case CT_APPLICATION:
                /* For application type, use base64, except when postscript */
-               if (contains8bit || ebcdicunsafe || linelen || linespace)
+               if (contains8bit || linelen || linespace)
                        ct->c_encoding = (ct->c_subtype ==
                                        APPLICATION_POSTSCRIPT) ?
                                        CE_QUOTED : CE_BASE64;
@@ -1684,16 +1565,6 @@ build_headers(CT ct)
        }
 
        /*
-       ** Skip the output of Content-Type, parameters, content
-       ** description and disposition, and Content-ID if the
-       ** content is of type "message" and the rfc934 compatibility
-       ** flag is set (which means we are inside multipart/digest
-       ** and the switch -rfc934mode was given).
-       */
-       if (ct->c_type == CT_MESSAGE && ct->c_rfc934)
-               goto skip_headers;
-
-       /*
        ** output the content type and subtype
        */
        np = getcpy(TYPE_FIELD);
@@ -1769,7 +1640,6 @@ build_headers(CT ct)
                add_header(ct, np, vp);
        }
 
-skip_headers:
        /*
        ** output the Content-Transfer-Encoding
        */