X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fsend.c;h=c1665b233a974c8d7c9d78625c88d269cacb181f;hp=619ff628eb88b8c07109453aa89a24c5a5485937;hb=718f854205f71294706def6688efcb1967cdc34c;hpb=8a5c71467df0cdfe96b6dcdca94eec5c787fcdf8 diff --git a/uip/send.c b/uip/send.c index 619ff62..c1665b2 100644 --- a/uip/send.c +++ b/uip/send.c @@ -81,7 +81,7 @@ main(int argc, char **argv) int msgnum, status; int in, out; int n; - char *cp, *maildir = NULL; + char *cp, *maildir = NULL, *folder = NULL; char buf[BUFSIZ], **argp, **arguments; char *msgs[MAXARGS], *vec[MAXARGS]; char *files[MAXARGS]; @@ -125,6 +125,12 @@ main(int argc, char **argv) vec[vecp++] = --cp; continue; } + } else if (*cp == '+' || *cp == '@') { + if (folder) { + adios(EX_USAGE, NULL, "only one folder at a time!"); + } else { + folder = mh_xstrdup(expandfol(cp)); + } } else { if (*cp == '/') { files[nfiles++] = cp; @@ -139,17 +145,18 @@ main(int argc, char **argv) } if (nmsgs) { - maildir = toabsdir(draftfolder); + folder = folder ? folder : draftfolder; + maildir = toabsdir(folder); if (chdir(maildir) == NOTOK) { adios(EX_OSERR, maildir, "unable to change directory to"); } - if (!(mp = folder_read(draftfolder))) { - adios(EX_IOERR, NULL, "unable to read draft folder %s", - draftfolder); + if (!(mp = folder_read(folder))) { + adios(EX_IOERR, NULL, "unable to read folder %s", + folder); } if (mp->nummsg == 0) { - adios(EX_DATAERR, NULL, "no messages in draft folder %s", - draftfolder); + adios(EX_DATAERR, NULL, "no messages in folder %s", + folder); } /* parse all the msgranges/sequences and set SELECTED */ for (msgnum = 0; msgnum < nmsgs; msgnum++) {