#include <time.h>
int debugsw = 0; /* global */
-int verbsw = 0;
char *altmsg = NULL;
char *annotext = NULL;
char *distfile = NULL;
/*
** static prototypes
*/
-static int sendsbr(char **, int, char *, struct stat *, int);
+static int sendsbr(char **, int, char *, struct stat *);
static void armed_done(int) NORETURN;
static void anno(struct stat *);
static int sendaux(char **, int, char *, struct stat *);
static struct swit switches[] = {
-#define ALIASW 0
- { "alias aliasfile", 0 },
-#define DEBUGSW 1
+#define DEBUGSW 0
{ "debug", -5 },
-#define VERBSW 2
+#define VERBSW 1
{ "verbose", 0 },
-#define NVERBSW 3
- { "noverbose", 0 },
-#define WATCSW 4
- { "watch", 0 },
-#define NWATCSW 5
- { "nowatch", 0 },
-#define VERSIONSW 6
- { "version", 0 },
-#define HELPSW 7
+#define NVERBSW 2
+ { "noverbose", 2 },
+#define VERSIONSW 3
+ { "Version", 0 },
+#define HELPSW 4
{ "help", 0 },
{ NULL, 0 }
};
int in, out;
int n;
char *cp, *maildir = NULL;
- char buf[BUFSIZ], **ap, **argp, **arguments;
+ char buf[BUFSIZ], **argp, **arguments;
char *msgs[MAXARGS], *vec[MAXARGS];
char *files[MAXARGS];
struct msgs *mp;
struct stat st;
struct stat st2;
-
-#ifdef LOCALE
setlocale(LC_ALL, "");
-#endif
invo_name = mhbasename(argv[0]);
/* read user profile/context */
arguments = getarguments(invo_name, argc, argv, 1);
argp = arguments;
- vec[vecp++] = "-library";
- vec[vecp++] = getcpy(toabsdir("+"));
-
while ((cp = *argp++)) {
if (*cp == '-') {
switch (smatch(++cp, switches)) {
print_version(invo_name);
done(1);
+ case DEBUGSW:
+ debugsw++;
+ /* fall */
case VERBSW:
- verbsw++;
- vec[vecp++] = --cp;
- continue;
case NVERBSW:
- verbsw = 0;
- vec[vecp++] = --cp;
- continue;
-
- case DEBUGSW:
- debugsw++; /* fall */
- case WATCSW:
- case NWATCSW:
vec[vecp++] = --cp;
continue;
-
- case ALIASW:
- vec[vecp++] = --cp;
- if (!(cp = *argp++) || *cp == '-') {
- adios(NULL, "missing argument to %s",
- argp[-2]);
- }
- vec[vecp++] = cp;
- continue;
-
}
} else {
if (*cp == '/') {
}
}
- /* check for "Aliasfile:" profile entry */
- if ((cp = context_find("Aliasfile"))) {
- char *dp = NULL;
-
- for (ap=brkstring(dp=getcpy(cp), " ", "\n"); ap && *ap; ap++) {
- vec[vecp++] = "-alias";
- vec[vecp++] = getcpy(etcpath(*ap));
- }
- }
-
if (!msgp && !nfiles) {
msgs[msgp++] = seq_cur;
}
}
for (msgnum = 0; msgnum < nfiles; msgnum++) {
- switch (sendsbr(vec, vecp, files[msgnum], &st, 1)) {
+ switch (sendsbr(vec, vecp, files[msgnum], &st)) {
case DONE:
done(++status);
case NOTOK:
** message sending back-end
*/
static int
-sendsbr(char **vec, int vecp, char *drft, struct stat *st, int rename_drft)
+sendsbr(char **vec, int vecp, char *drft, struct stat *st)
{
int status;
char buffer[BUFSIZ];
case OK:
status = sendaux(vec, vecp, drft, st) ? NOTOK : OK;
/* rename the original draft */
- if (rename_drft && status == OK &&
- rename(original_draft, strncpy(buffer,
- m_backup(original_draft), sizeof(buffer)))
- == NOTOK) {
- advise(buffer, "unable to rename %s to", drft);
+ if (status == OK) {
+ strncpy(buffer, m_backup(original_draft),
+ sizeof(buffer));
+ if (rename(original_draft, buffer) == NOTOK) {
+ advise(buffer, "unable to rename %s to", drft);
+ }
}
break;