X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fsend.c;h=eb678245a85ffa92995c3ed51d62c42ffd926a12;hb=b0b1dd37ff515578cf7cba51625189eb34a196cb;hp=2416baf99f487e3dfa05b43669f18ccc1ab0769f;hpb=714b5c530ece27ea2835a313013f5b770163403c;p=mmh diff --git a/uip/send.c b/uip/send.c index 2416baf..eb67824 100644 --- a/uip/send.c +++ b/uip/send.c @@ -109,7 +109,7 @@ main(int argc, char **argv) char *msgs[MAXARGS], *vec[MAXARGS]; struct msgs *mp; struct stat st; - char *attach = (char *)0; /* header field name for attachments */ + char *attach = NULL; /* header field name for attachments */ int attachformat = 0; /* mhbuild format specifier for attachments */ #ifdef UCI FILE *fp; @@ -118,7 +118,7 @@ main(int argc, char **argv) #ifdef LOCALE setlocale(LC_ALL, ""); #endif - invo_name = r1bindex(argv[0], '/'); + invo_name = mhbasename(argv[0]); /* read user profile/context */ context_read(); @@ -127,117 +127,117 @@ main(int argc, char **argv) argp = arguments; vec[vecp++] = "-library"; - vec[vecp++] = getcpy(m_maildir("")); + vec[vecp++] = getcpy(toabsdir("+")); while ((cp = *argp++)) { if (*cp == '-') { switch (smatch(++cp, switches)) { - case AMBIGSW: - ambigsw(cp, switches); - done(1); - case UNKWNSW: - adios(NULL, "-%s unknown\n", cp); - - case HELPSW: - snprintf(buf, sizeof(buf), - "%s [file] [switches]", - invo_name); - print_help(buf, switches, 1); - done(1); - case VERSIONSW: - print_version(invo_name); - done(1); - - case PUSHSW: - pushsw++; - continue; - case NPUSHSW: - pushsw = 0; - continue; - - case UNIQSW: - unique++; - continue; - case NUNIQSW: - unique = 0; - continue; - - case FORWSW: - forwsw++; - continue; - case NFORWSW: - forwsw = 0; - continue; - - case VERBSW: - verbsw++; - vec[vecp++] = --cp; - continue; - case NVERBSW: - verbsw = 0; - vec[vecp++] = --cp; - continue; - - case MIMESW: - mime++; - vec[vecp++] = --cp; - continue; - case NMIMESW: - mime = 0; - vec[vecp++] = --cp; - continue; - - case DEBUGSW: - debugsw++; /* fall */ - case NFILTSW: - case FRMTSW: - case NFRMTSW: - case BITSTUFFSW: - case NBITSTUFFSW: - case MSGDSW: - case NMSGDSW: - case WATCSW: - case NWATCSW: - case MAILSW: - case SAMLSW: - case SENDSW: - case SOMLSW: - case SNOOPSW: - vec[vecp++] = --cp; - continue; - - case ALIASW: - case FILTSW: - case WIDTHSW: - 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; - - case ATTACHSW: - if (!(attach = *argp++) || - *attach == '-') - adios(NULL, "missing argument to %s", argp[-2]); - continue; - - case ATTACHFORMATSW: - if (! *argp || **argp == '-') - adios(NULL, "missing argument to %s", argp[-1]); - else { - attachformat = atoi(*argp); - if (attachformat < 0 || - attachformat > ATTACHFORMATS - 1) { - advise(NULL, "unsupported attachformat %d", - attachformat); - continue; - } + case AMBIGSW: + ambigsw(cp, switches); + done(1); + case UNKWNSW: + adios(NULL, "-%s unknown\n", cp); + + case HELPSW: + snprintf(buf, sizeof(buf), + "%s [file] [switches]", + invo_name); + print_help(buf, switches, 1); + done(1); + case VERSIONSW: + print_version(invo_name); + done(1); + + case PUSHSW: + pushsw++; + continue; + case NPUSHSW: + pushsw = 0; + continue; + + case UNIQSW: + unique++; + continue; + case NUNIQSW: + unique = 0; + continue; + + case FORWSW: + forwsw++; + continue; + case NFORWSW: + forwsw = 0; + continue; + + case VERBSW: + verbsw++; + vec[vecp++] = --cp; + continue; + case NVERBSW: + verbsw = 0; + vec[vecp++] = --cp; + continue; + + case MIMESW: + mime++; + vec[vecp++] = --cp; + continue; + case NMIMESW: + mime = 0; + vec[vecp++] = --cp; + continue; + + case DEBUGSW: + debugsw++; /* fall */ + case NFILTSW: + case FRMTSW: + case NFRMTSW: + case BITSTUFFSW: + case NBITSTUFFSW: + case MSGDSW: + case NMSGDSW: + case WATCSW: + case NWATCSW: + case MAILSW: + case SAMLSW: + case SENDSW: + case SOMLSW: + case SNOOPSW: + vec[vecp++] = --cp; + continue; + + case ALIASW: + case FILTSW: + case WIDTHSW: + 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; + + case ATTACHSW: + if (!(attach = *argp++) || *attach == '-') + adios(NULL, "missing argument to %s", + argp[-2]); + continue; + + case ATTACHFORMATSW: + if (! *argp || **argp == '-') + adios(NULL, "missing argument to %s", + argp[-1]); + else { + attachformat = atoi(*argp); + if (attachformat < 0 || attachformat > ATTACHFORMATS - 1) { + advise(NULL, "unsupported attachformat %d", attachformat); + continue; } - ++argp; - continue; + } + ++argp; + continue; } } else { msgs[msgp++] = cp; @@ -257,12 +257,9 @@ main(int argc, char **argv) } } - if (!context_find("path")) - free(path("./", TFOLDER)); - if (!msgp) - msgs[msgp++] = "cur"; - maildir = m_maildir(draftfolder); + msgs[msgp++] = seq_cur; + maildir = toabsdir(draftfolder); if (chdir(maildir) == NOTOK) adios(maildir, "unable to change directory to"); @@ -361,18 +358,18 @@ main(int argc, char **argv) push(); status = 0; - vec[0] = r1bindex(postproc, '/'); + vec[0] = mhbasename(postproc); closefds(3); for (msgnum = 0; msgnum < msgp; msgnum++) { switch (sendsbr(vec, vecp, msgs[msgnum], &st, 1, attach, attachformat)) { - case DONE: - done(++status); - case NOTOK: - status++; /* fall */ - case OK: - break; + case DONE: + done(++status); + case NOTOK: + status++; /* fall */ + case OK: + break; } }