Renamed -version switch to -Version to remove the conflict with -verbose.
[mmh] / uip / mhbuild.c
index 5cccd2a..12e6548 100644 (file)
 #include <time.h>
 
 static struct swit switches[] = {
-#define HEADSW  0
-       { "headers", 0 },
-#define NHEADSW  1
-       { "noheaders", 0 },
-#define LISTSW  2
-       { "list", 0 },
-#define NLISTSW  3
-       { "nolist", 0 },
-#define RFC934SW  4
-       { "rfc934mode", 0 },
-#define NRFC934SW  5
-       { "norfc934mode", 0 },
-#define VERBSW  6
+#define VERBSW  0
        { "verbose", 0 },
-#define NVERBSW  7
+#define NVERBSW  1
        { "noverbose", 0 },
-#define CONTENTIDSW  8
-       { "contentid", 0 },
-#define NCONTENTIDSW  9
-       { "nocontentid", 0 },
-#define VERSIONSW  10
-       { "version", 0 },
-#define HELPSW  11
+#define VERSIONSW  2
+       { "Version", 0 },
+#define HELPSW  3
        { "help", 0 },
-#define DEBUGSW  12
+#define DEBUGSW  4
        { "debug", -5 },
        { NULL, 0 }
 };
@@ -99,10 +83,6 @@ static CT build_mime(char *);
 int debugsw = 0;
 int verbosw = 0;
 
-int listsw   = 0;
-int rfc934sw = 0;
-int contentidsw = 1;
-
 /*
 ** Temporary files
 */
@@ -118,9 +98,6 @@ static void unlink_done(int) NORETURN;
 int output_message(CT, char *);
 int output_message_fp(CT, FILE *, char*);
 
-/* mhlistsbr.c */
-int list_all_messages(CT *, int, int, int);
-
 /* mhmisc.c */
 void set_endian(void);
 
@@ -131,7 +108,6 @@ void free_content(CT);
 int
 main(int argc, char **argv)
 {
-       int headsw = 1;
        char *cp, buf[BUFSIZ];
        char buffer[BUFSIZ], *compfile = NULL;
        char **argp, **arguments;
@@ -158,7 +134,6 @@ main(int argc, char **argv)
                                adios(NULL, "cannot specify both standard input and a file");
                        else
                                compfile = cp;
-                       listsw = 0;  /* turn off -list if using std in/out */
                        verbosw = 0;  /* turn off -verbose listings */
                        break;
                }
@@ -178,34 +153,6 @@ main(int argc, char **argv)
                                print_version(invo_name);
                                done(1);
 
-                       case HEADSW:
-                               headsw++;
-                               continue;
-                       case NHEADSW:
-                               headsw = 0;
-                               continue;
-
-                       case LISTSW:
-                               listsw++;
-                               continue;
-                       case NLISTSW:
-                               listsw = 0;
-                               continue;
-
-                       case RFC934SW:
-                               rfc934sw++;
-                               continue;
-                       case NRFC934SW:
-                               rfc934sw = 0;
-                               continue;
-
-                       case CONTENTIDSW:
-                               contentidsw = 1;
-                               continue;
-                       case NCONTENTIDSW:
-                               contentidsw = 0;
-                               continue;
-
                        case VERBSW:
                                verbosw++;
                                continue;
@@ -225,9 +172,6 @@ main(int argc, char **argv)
 
        set_endian();
 
-       if ((cp = getenv("MM_NOASK")) && strcmp(cp, "1")==0)
-               listsw  = 0;
-
        /*
        ** Check if we've specified an additional profile
        */
@@ -325,12 +269,6 @@ main(int argc, char **argv)
        output_message_fp(ct, fp_out, outfile);
        fclose(fp_out);
 
-       /*
-       ** List the message info
-       */
-       if (listsw)
-               list_all_messages(cts, headsw, verbosw, debugsw);
-
        /* Rename composition draft */
        snprintf(buffer, sizeof(buffer), "%s.orig", m_backup(compfile));
        if (rename(compfile, buffer) == NOTOK) {
@@ -644,7 +582,6 @@ user_content(FILE *in, char *file, char *buf, CT *ctp)
        char buffer[BUFSIZ];
        struct multipart *m;
        struct part **pp;
-       struct stat st;
        struct str2init *s2i;
        CI ci;
        CT ct;
@@ -772,8 +709,6 @@ rock_and_roll:
                        }
                }
 
-               if (listsw)
-                       ct->c_end = ftell(out);
                fclose(out);
 
                /* parse content type */
@@ -880,8 +815,6 @@ use_forw:
                                ce->ce_file = ci->ci_magic;
                                if (access(ce->ce_file, R_OK) == NOTOK)
                                        adios("reading", "unable to access %s for", ce->ce_file);
-                               if (listsw && stat(ce->ce_file, &st) != NOTOK)
-                                       ct->c_end = (long) st.st_size;
                                ci->ci_magic = NULL;
                        }
                        return OK;
@@ -996,9 +929,6 @@ use_forw:
                                                        "%s/%d", mp->foldpath,
                                                        msgnum);
                                        pe->ce_file = getcpy(buffer);
-                                       if (listsw && stat(pe->ce_file, &st)
-                                                       != NOTOK)
-                                               p->c_end = (long) st.st_size;
 
                                        if ((part = (struct part *) calloc(1, sizeof(*part))) == NULL)
                                                adios(NULL, "out of memory");
@@ -1018,8 +948,6 @@ use_forw:
                        snprintf(buffer, sizeof(buffer), "%s/%d",
                                        mp->foldpath, msgnum);
                        ce->ce_file = getcpy(buffer);
-                       if (listsw && stat(ce->ce_file, &st) != NOTOK)
-                               ct->c_end = (long) st.st_size;
                }
 
                folder_free(mp);  /* free folder/message structure */
@@ -1156,41 +1084,6 @@ compose_content(CT ct)
                        if (compose_content(p) == NOTOK)
                                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;
-               }
        }
        break;
 
@@ -1328,14 +1221,6 @@ raw:
                                break;
                        }
                }
-
-               /* Check size of file */
-               if (listsw && ct->c_end == 0L) {
-                       struct stat st;
-
-                       if (stat(ce->ce_file, &st) != NOTOK)
-                               ct->c_end = (long) st.st_size;
-               }
                break;
        }
 
@@ -1606,16 +1491,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);
@@ -1665,9 +1540,9 @@ build_headers(CT ct)
        add_header(ct, np, vp);
 
        /*
-       ** output the Content-ID, unless disabled by -nocontentid
+       ** output the Content-ID
        */
-       if (contentidsw && ct->c_id) {
+       if (ct->c_id) {
                np = getcpy(ID_FIELD);
                vp = concat(" ", ct->c_id, NULL);
                add_header(ct, np, vp);
@@ -1691,7 +1566,6 @@ build_headers(CT ct)
                add_header(ct, np, vp);
        }
 
-skip_headers:
        /*
        ** output the Content-Transfer-Encoding
        */