Add support for a -subject switch to comp.
[mmh] / uip / comp.c
index 812f596..c8189d1 100644 (file)
@@ -49,6 +49,8 @@ static struct swit switches[] = {
     { "fcc mailbox", 0 },
 #define WIDTHSW                      17
     { "width colums", 0 },
+#define SUBJECTSW             18
+    { "subject text", 0 },
     { NULL, 0 }
 };
 
@@ -93,6 +95,7 @@ main (int argc, char **argv)
     char *ed = NULL, *file = NULL, *form = NULL;
     char *folder = NULL, *msg = NULL, buf[BUFSIZ];
     char *to = NULL, *from = NULL, *cc = NULL, *fcc = NULL, *dp;
+    char *subject = NULL;
     char drft[BUFSIZ], **argp, **arguments;
     struct msgs *mp = NULL;
     struct format *fmt;
@@ -219,6 +222,12 @@ main (int argc, char **argv)
                    if ((outputlinelen = atoi(cp)) < 10)
                        adios (NULL, "impossible width %d", outputlinelen);
                    continue;
+
+               case SUBJECTSW:
+                   if (!(cp = *argp++) || *cp == '-')
+                       adios (NULL, "missing argument to %s", argp[-2]);
+                   subject = cp;
+                   continue;
            }
        }
        if (*cp == '+' || *cp == '@') {
@@ -317,6 +326,11 @@ main (int argc, char **argv)
            if (cptr)
                cptr->c_text = fcc;
        }
+       if (subject) {
+           FINDCOMP(cptr, "subject");
+           if (cptr)
+               cptr->c_text = subject;
+       }
     }
 
 try_it_again: