/*
* whatnowsbr.c -- the WhatNow shell
*
- * $Id$
- *
* This code is Copyright (c) 2002, by the authors of nmh. See the
* COPYRIGHT file in the root directory of the nmh distribution for
* complete copyright information.
snprintf (prompt, sizeof(prompt), myprompt, invo_name);
for (;;) {
if (!(argp = getans (prompt, aleqs))) {
- unlink (LINK);
+ unlink (altmsglink);
done (1);
}
switch (smatch (*argp, aleqs)) {
break;
}
+ if (*(argp+1) == (char *)0) {
+ advise((char *)0, "attach command requires file argument(s).");
+ break;
+ }
+
/*
* Build a command line that causes the user's shell to list the file name
* arguments. This handles and wildcard expansion, tilde expansion, etc.
struct stat st;
#ifdef HAVE_LSTAT
- int slinked;
+ int slinked = 0;
#if 0
int oumask; /* PJS: for setting permissions on symlinks. */
#endif
else
snprintf (altpath, sizeof(altpath), "%s/%s", mp->foldpath, altmsg);
if (cwd == NULL)
- strncpy (linkpath, LINK, sizeof(linkpath));
+ strncpy (linkpath, altmsglink, sizeof(linkpath));
else
- snprintf (linkpath, sizeof(linkpath), "%s/%s", cwd, LINK);
+ snprintf (linkpath, sizeof(linkpath), "%s/%s", cwd, altmsglink);
}
if (altmsg) {
}
-#ifndef CYRUS_SASL
-# define SASLminc(a) (a)
-#else /* CYRUS_SASL */
-# define SASLminc(a) 0
-#endif /* CYRUS_SASL */
-
static struct swit sendswitches[] = {
#define ALIASW 0
{ "alias aliasfile", 0 },
#define CLIESW 30
{ "client host", -6 },
#define SERVSW 31
- { "server host", -6 },
+ { "server host", 6 },
#define SNOOPSW 32
{ "snoop", -5 },
#define SDRFSW 33
{ "draftmessage msg", -6 },
#define SNDRFSW 35
{ "nodraftfolder", -3 },
-#define SASLSW 36
- { "sasl", SASLminc(-4) },
-#define SASLMECHSW 37
- { "saslmech", SASLminc(-5) },
-#define USERSW 38
- { "user", SASLminc(-4) },
#define SNDATTACHSW 39
{ "attach file", 6 },
#define SNDATTACHFORMAT 40
{ "attachformat", 7 },
+#define PORTSW 41
+ { "port server-port-name/number", 4 },
{ NULL, 0 }
};
case SSNDSW:
case SOMLSW:
case SNOOPSW:
- case SASLSW:
vec[vecp++] = --cp;
continue;
case WIDTHSW:
case CLIESW:
case SERVSW:
- case SASLMECHSW:
- case USERSW:
+ case PORTSW:
vec[vecp++] = --cp;
if (!(cp = *argp++) || *cp == '-') {
advise (NULL, "missing argument to %s", argp[-2]);
#endif /* not lint */
&& altmsg) {
vec[vecp++] = "-dist";
- distfile = getcpy (m_scratch (altmsg, invo_name));
+ distfile = getcpy (m_mktemp2(altmsg, invo_name, NULL, NULL));
if (link (altmsg, distfile) == NOTOK)
adios (distfile, "unable to link %s to", altmsg);
} else {