-
-/*
- * sendsbr.c -- routines to help WhatNow/Send along
+/* sendsbr.c -- routines to help WhatNow/Send along
*
* This code is Copyright (c) 2002, by the authors of nmh. See the
* COPYRIGHT file in the root directory of the nmh distribution for
#ifdef OAUTH_SUPPORT
#include <h/oauth.h>
+#endif
+#include "../sbr/m_maildir.h"
+#include "../sbr/m_mktemp.h"
+#include "../sbr/message_id.h"
+#ifdef OAUTH_SUPPORT
static int setup_oauth_params(char *[], int *, const char *, const char **);
#endif /* OAUTH_SUPPORT */
int compnum, nparts, partno, state, status;
long pos, start;
time_t clock;
- char *cp, *dp, buffer[BUFSIZ], msgid[BUFSIZ];
+ char *cp, *dp, buffer[NMH_BUFSIZ], msgid[BUFSIZ];
char subject[BUFSIZ];
char name[NAMESZ], partnum[BUFSIZ];
FILE *in;
snprintf (buf, sizeof(buf), "%d", fd2);
vec[vecp++] = buf;
} else {
- admonish (NULL, "unable to create temporary file in %s "
- "for annotation list", get_temp_dir());
+ inform("unable to create temporary file in %s for "
+ "annotation list, continuing...", get_temp_dir());
}
}
vec[vecp++] = drft;
/*
* child process -- send it
*
- * If fd is ok, then we are pushing and fd points to temp
+ * If fd is OK, then we are pushing and fd points to temp
* file, so capture anything on stdout and stderr there.
*/
if (fd != NOTOK) {
if ((in = open (file, O_RDONLY)) == NOTOK) {
admonish (file, "unable to re-open");
} else {
- lseek (out, (off_t) 0, SEEK_END);
+ lseek(out, 0, SEEK_END);
strncpy (buf, "\nMessage not delivered to anyone.\n", sizeof(buf));
if (write (out, buf, strlen (buf)) < 0) {
advise (file, "write");
admonish (buf, "unable to rename %s to", file);
}
}
- lseek (out, (off_t) 0, SEEK_SET);
+ lseek(out, 0, SEEK_SET);
dup2 (out, fileno (stdin));
close (out);
/* create subject for error notification */
|| st->st_dev != st2.st_dev
|| st->st_ino != st2.st_ino)) {
if (debugsw)
- admonish (NULL, "$mhaltmsg mismatch");
+ inform("$mhaltmsg mismatch, continuing...");
return;
}
if ((folder = getenv ("mhfolder")) == NULL || *folder == 0) {
if (debugsw)
- admonish (NULL, "$mhfolder not set");
+ inform("$mhfolder not set, continuing...");
return;
}
maildir = m_maildir (folder);
}
if (!(mp = folder_read (folder, 0))) {
if (debugsw)
- admonish (NULL, "unable to read folder %s", folder);
+ inform("unable to read folder %s, continuing...", folder);
return;
}
/* check for empty folder */
if (mp->nummsg == 0) {
if (debugsw)
- admonish (NULL, "no messages in %s", folder);
+ inform("no messages in %s, continuing...", folder);
goto oops;
}
if ((cp = getenv ("mhmessages")) == NULL || *cp == 0) {
if (debugsw)
- admonish (NULL, "$mhmessages not set");
+ inform("$mhmessages not set, continuing...");
goto oops;
}
if (!debugsw /* MOBY HACK... */
dup2 (fd2, fileno (stderr));
if (mp->numsel == 0) {
if (debugsw)
- admonish (NULL, "no messages to annotate");
+ inform("no messages to annotate, continuing...");
goto oops;
}
- lseek (fd, (off_t) 0, SEEK_SET);
+ lseek(fd, 0, SEEK_SET);
if ((fp = fdopen (fd, "r")) == NULL) {
if (debugsw)
- admonish (NULL, "unable to fdopen annotation list");
+ inform("unable to fdopen annotation list, continuing...");
goto oops;
}
cp = NULL;
/* Use the hostformat that corresponds to the successful addrformat. */
if ((*host = get_message_header_info(in, hostformat)) == NULL) {
- fclose(in);
- *message = "unable to find sender host in";
+ *message = "unable to find sender host";
fclose(in);
return NOTOK;
}
}
-static void
+static void NORETURN
armed_done (int status)
{
longjmp (env, status ? status : NOTOK);