- invo_name = r1bindex (argv[0], '/');
-
- /* read user profile/context */
- context_read();
-
- arguments = getarguments (invo_name, argc, argv, 1);
- argp = arguments;
-
- vec[vecp++] = invo_name;
- vec[vecp++] = "-whom";
- vec[vecp++] = "-library";
- vec[vecp++] = getcpy (m_maildir (""));
-
- while ((cp = *argp++)) {
- if (*cp == '-') {
- switch (smatch (++cp, switches)) {
- case AMBIGSW:
- ambigsw (cp, switches);
- done (1);
- case UNKWNSW:
- adios (NULL, "-%s unknown", cp);
-
- case HELPSW:
- snprintf (buf, sizeof(buf), "%s [switches] [file]", invo_name);
- print_help (buf, switches, 1);
- done (1);
- case VERSIONSW:
- print_version(invo_name);
- done (1);
-
- case CHKSW:
- case NOCHKSW:
- case SNOOPSW:
- vec[vecp++] = --cp;
- continue;
-
- case DRAFTSW:
- msg = draft;
- continue;
-
- case DFOLDSW:
- if (dfolder)
- adios (NULL, "only one draft folder at a time!");
- if (!(cp = *argp++) || *cp == '-')
- adios (NULL, "missing argument to %s", argp[-2]);
- dfolder = path (*cp == '+' || *cp == '@' ? cp + 1 : cp,
- *cp != '@' ? TFOLDER : TSUBCWF);
- continue;
- case DMSGSW:
- if (dmsg)
- adios (NULL, "only one draft message at a time!");
- if (!(dmsg = *argp++) || *dmsg == '-')
- adios (NULL, "missing argument to %s", argp[-2]);
- continue;
- case NDFLDSW:
- dfolder = NULL;
- isdf = NOTOK;
- continue;
-
- case ALIASW:
- case CLIESW:
- case SERVSW:
- vec[vecp++] = --cp;
- if (!(cp = *argp++) || *cp == '-')
- adios (NULL, "missing argument to %s", argp[-2]);
- vec[vecp++] = cp;
- continue;
- }
+ invo_name = r1bindex (argv[0], '/');
+
+ /* read user profile/context */
+ context_read();
+
+ arguments = getarguments (invo_name, argc, argv, 1);
+ argp = arguments;
+
+ vec[vecp++] = invo_name;
+ vec[vecp++] = "-whom";
+ vec[vecp++] = "-library";
+ vec[vecp++] = getcpy (m_maildir (""));
+
+ while ((cp = *argp++)) {
+ if (*cp == '-') {
+ switch (smatch (++cp, switches)) {
+ case AMBIGSW:
+ ambigsw (cp, switches);
+ done (1);
+ case UNKWNSW:
+ adios (NULL, "-%s unknown", cp);
+
+ case HELPSW:
+ snprintf (buf, sizeof(buf), "%s [switches] [file]", invo_name);
+ print_help (buf, switches, 1);
+ done (1);
+ case VERSIONSW:
+ print_version(invo_name);
+ done (1);
+
+ case CHKSW:
+ case NOCHKSW:
+ case SNOOPSW:
+ vec[vecp++] = --cp;
+ continue;
+
+ case DRAFTSW:
+ msg = draft;
+ continue;
+
+ case DFOLDSW:
+ if (dfolder)
+ adios (NULL, "only one draft folder at a time!");
+ if (!(cp = *argp++) || *cp == '-')
+ adios (NULL, "missing argument to %s", argp[-2]);
+ dfolder = path (*cp == '+' || *cp == '@' ? cp + 1 : cp,
+ *cp != '@' ? TFOLDER : TSUBCWF);
+ continue;
+ case DMSGSW:
+ if (dmsg)
+ adios (NULL, "only one draft message at a time!");
+ if (!(dmsg = *argp++) || *dmsg == '-')
+ adios (NULL, "missing argument to %s", argp[-2]);
+ continue;
+ case NDFLDSW:
+ dfolder = NULL;
+ isdf = NOTOK;
+ continue;
+
+ case ALIASW:
+ case CLIESW:
+ case SERVSW:
+ case PORTSW:
+ vec[vecp++] = --cp;
+ if (!(cp = *argp++) || *cp == '-')
+ adios (NULL, "missing argument to %s", argp[-2]);
+ vec[vecp++] = cp;
+ continue;
+ }
+ }
+ if (msg)
+ adios (NULL, "only one draft at a time!");
+ else
+ vec[vecp++] = msg = cp;
+ }
+
+ /* allow Aliasfile: profile entry */
+ if ((cp = context_find ("Aliasfile"))) {
+ char *dp = NULL;
+
+ for (ap = brkstring(dp = getcpy(cp), " ", "\n"); ap && *ap; ap++) {
+ vec[vecp++] = "-alias";
+ vec[vecp++] = *ap;
+ }
+ }
+
+ if (msg == NULL) {
+#ifdef WHATNOW
+ if (dfolder || (cp = getenv ("mhdraft")) == NULL || *cp == '\0')
+#endif /* WHATNOW */
+ cp = getcpy (m_draft (dfolder, dmsg, 1, &isdf));
+ msg = vec[vecp++] = cp;