X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fsend.c;h=7f0529e7ea95411fb7894f676553ebf11bbf87f4;hb=9f8f8b1e1d553774865f2c177191c359c3dc652c;hp=9e804bc4320702418ee8217689f146b3f251a7b0;hpb=3bede3fae77775088b8b66e7a26a5e2ee1f61fff;p=mmh diff --git a/uip/send.c b/uip/send.c index 9e804bc..7f0529e 100644 --- a/uip/send.c +++ b/uip/send.c @@ -112,12 +112,20 @@ static struct swit switches[] = { { "user username", SASLminc(-4) }, #define ATTACHSW 42 { "attach", 6 }, -#define ATTACHFORMATSW 43 +#define NOATTACHSW 43 + { "noattach", 0 }, +#define ATTACHFORMATSW 44 { "attachformat", 7 }, -#define PORTSW 44 +#define PORTSW 45 { "port server-port-name/number" , 4 }, -#define TLSSW 45 +#define TLSSW 46 { "tls", TLSminc(-3) }, +#define NTLSSW 47 + { "notls", TLSminc(-5) }, +#define MTSSW 48 + { "mts smtp|sendmail/smtp|sendmail/pipe", 2 }, +#define MESSAGEIDSW 49 + { "messageid localname|random", 2 }, { NULL, 0 } }; @@ -155,8 +163,8 @@ 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 */ - int attachformat = 0; /* mhbuild format specifier for attachments */ + char *attach = NMH_ATTACH_HEADER; /* header field name for attachments */ + int attachformat = 1; /* mhbuild format specifier for attachments */ #ifdef LOCALE setlocale(LC_ALL, ""); @@ -194,10 +202,10 @@ main (int argc, char **argv) case HELPSW: snprintf (buf, sizeof(buf), "%s [file] [switches]", invo_name); print_help (buf, switches, 1); - done (1); + done (0); case VERSIONSW: print_version(invo_name); - done (1); + done (0); case DRAFTSW: msgs[msgp++] = draft; @@ -284,6 +292,7 @@ main (int argc, char **argv) case SASLSW: case NOSASLSW: case TLSSW: + case NTLSSW: vec[vecp++] = --cp; continue; @@ -296,6 +305,8 @@ main (int argc, char **argv) case SASLMXSSFSW: case USERSW: case PORTSW: + case MTSSW: + case MESSAGEIDSW: vec[vecp++] = --cp; if (!(cp = *argp++) || *cp == '-') adios (NULL, "missing argument to %s", argp[-2]); @@ -306,6 +317,9 @@ main (int argc, char **argv) if (!(attach = *argp++) || *attach == '-') adios (NULL, "missing argument to %s", argp[-2]); continue; + case NOATTACHSW: + attach = NULL; + continue; case ATTACHFORMATSW: if (! *argp || **argp == '-') @@ -434,7 +448,8 @@ go_to_it: distfile = getcpy (m_mktemp2 (altmsg, invo_name, NULL, NULL)); unlink(distfile); if (link (altmsg, distfile) == NOTOK) { - if (errno != EXDEV + /* Cygwin with FAT32 filesystem produces EPERM. */ + if (errno != EXDEV && errno != EPERM #ifdef EISREMOTE && errno != EISREMOTE #endif /* EISREMOTE */