Added test-refile.
[mmh] / uip / whatnowsbr.c
index eaea7e1..ac9dc3a 100644 (file)
@@ -696,7 +696,7 @@ editfile (char **ed, char **arg, char *file, int use, struct msgs *mp,
     context_save ();   /* save the context file */
     fflush (stdout);
 
-    switch (pid = vfork ()) {
+    switch (pid = vfork()) {
        case NOTOK:
            advise ("fork", "unable to");
            status = NOTOK;
@@ -726,13 +726,6 @@ editfile (char **ed, char **arg, char *file, int use, struct msgs *mp,
 
        default:
            if ((status = pidwait (pid, NOTOK))) {
-#ifdef ATTVIBUG
-               if ((cp = r1bindex (*ed, '/'))
-                       && strcmp (cp, "vi") == 0
-                       && (status & 0x00ff) == 0)
-                   status = 0;
-               else {
-#endif
                if (((status & 0xff00) != 0xff00)
                    && (!reedit || (status & 0x00ff))) {
                    if (!use && (status & 0xff00) &&
@@ -744,9 +737,6 @@ editfile (char **ed, char **arg, char *file, int use, struct msgs *mp,
                }
                status = -2;    /* maybe "reedit ? -2 : -1"? */
                break;
-#ifdef ATTVIBUG
-               }
-#endif
            }
 
            reedit++;
@@ -1064,17 +1054,21 @@ static struct swit  sendswitches[] = {
     { "nodraftfolder", -3 },
 #define SASLSW           36
     { "sasl", SASLminc(-4) },
-#define SASLMECHSW       37
+#define NOSASLSW         37
+    { "nosasl", SASLminc(-6) },
+#define SASLMXSSFSW      38
+    { "saslmaxssf", SASLminc(-10) },
+#define SASLMECHSW       39
     { "saslmech", SASLminc(-5) },
-#define USERSW           38
+#define USERSW           40
     { "user", SASLminc(-4) },
-#define SNDATTACHSW       39
+#define SNDATTACHSW       41
     { "attach file", 6 },
-#define SNDATTACHFORMAT   40
+#define SNDATTACHFORMAT   42
     { "attachformat", 7 },
-#define PORTSW           41
+#define PORTSW           43
     { "port server-port-name/number", 4 },
-#define TLSSW            42
+#define TLSSW            44
     { "tls", TLSminc(-3) },
     { NULL, 0 }
 };
@@ -1154,6 +1148,16 @@ sendit (char *sp, char **arg, char *file, int pushed)
     vec[vecp++] = "-library";
     vec[vecp++] = getcpy (m_maildir (""));
 
+    if ((cp = context_find ("fileproc"))) {
+      vec[vecp++] = "-fileproc";
+      vec[vecp++] = cp;
+    }
+
+    if ((cp = context_find ("mhlproc"))) {
+      vec[vecp++] = "-mhlproc";
+      vec[vecp++] = cp;
+    }
+
     while ((cp = *argp++)) {
        if (*cp == '-') {
            switch (smatch (++cp, sendswitches)) {
@@ -1227,6 +1231,7 @@ sendit (char *sp, char **arg, char *file, int pushed)
                case SOMLSW:
                case SNOOPSW:
                case SASLSW:
+               case NOSASLSW:
                case TLSSW:
                    vec[vecp++] = --cp;
                    continue;
@@ -1236,6 +1241,7 @@ sendit (char *sp, char **arg, char *file, int pushed)
                case WIDTHSW:
                case CLIESW:
                case SERVSW:
+               case SASLMXSSFSW:
                case SASLMECHSW:
                case USERSW:
                case PORTSW:
@@ -1313,6 +1319,7 @@ sendit (char *sp, char **arg, char *file, int pushed)
            && altmsg) {
        vec[vecp++] = "-dist";
        distfile = getcpy (m_mktemp2(altmsg, invo_name, NULL, NULL));
+       unlink(distfile);
        if (link (altmsg, distfile) == NOTOK)
            adios (distfile, "unable to link %s to", altmsg);
     } else {
@@ -1348,7 +1355,7 @@ whomfile (char **arg, char *file)
     context_save ();   /* save the context file */
     fflush (stdout);
 
-    switch (pid = vfork ()) {
+    switch (pid = vfork()) {
        case NOTOK:
            advise ("fork", "unable to");
            return 1;