#include <h/mh.h>
#include <h/signals.h>
-#include <h/m_setjmp.h>
+#include <setjmp.h>
#include <signal.h>
#include <fcntl.h>
#include <h/mime.h>
static jmp_buf env;
-static char body_file_name[MAXPATHLEN + 1]; /* name of temporary file for body content */
-static char composition_file_name[MAXPATHLEN + 1]; /* name of mhbuild composition temporary file */
+static char body_file_name[PATH_MAX + 1]; /* name of temporary file for body content */
+static char composition_file_name[PATH_MAX + 1]; /* name of mhbuild composition temporary file */
static int field_size; /* size of header field buffer */
static char *field; /* header field buffer */
static FILE *draft_file; /* draft file pointer */
}
done=armed_done;
- switch (m_setjmp (env)) {
+ switch (setjmp (env)) {
case OK:
/*
* If given -push and -unique (which is undocumented), then
attach(char *attachment_header_field_name, char *draft_file_name,
int attachformat)
{
- char buf[MAXPATHLEN + 6]; /* miscellaneous buffer */
+ char buf[PATH_MAX + 6]; /* miscellaneous buffer */
int c; /* current character for body copy */
int has_attachment; /* draft has at least one attachment */
int has_body; /* draft has a message body */
int length; /* length of attachment header field name */
char *p; /* miscellaneous string pointer */
+ FILE *fp; /* pointer for mhn.defaults */
/*
* Open up the draft file.
* that specify attachments. Add a mhbuild MIME composition file for each.
*/
+ if ((fp = fopen (p = etcpath ("mhn.defaults"), "r"))) {
+ readconfig ((struct node **) NULL, fp, p, 0);
+ fclose(fp);
+ }
+
rewind(draft_file);
while (get_line() != EOF && *field != '\0' && *field != '-') {
{
int binary; /* binary character found flag */
int c; /* current character */
- char cmd[MAXPATHLEN + 6]; /* file command buffer */
+ char cmd[PATH_MAX + 6]; /* file command buffer */
char *content_type; /* mime content type */
FILE *fp; /* content and pipe file pointer */
struct node *np; /* context scan node pointer */
(void)fprintf(composition_file, "#%s; name=\"%s\"; x-unix-mode=0%.3ho",
content_type, ((p = strrchr(file_name, '/')) == (char *)0) ? file_name : p + 1, (unsigned short)(st.st_mode & 0777));
- if (strlen(file_name) > MAXPATHLEN) {
+ if (strlen(file_name) > PATH_MAX) {
clean_up_temporary_files();
adios((char *)0, "attachment file name `%s' too long.", file_name);
}
} else {
/* Suppress Content-Id, insert simple Content-Disposition
and Content-Description with filename. */
+ p = strrchr(file_name, '/');
(void) fprintf (composition_file,
- "#%1$s; name=\"%2$s\" <> [%2$s]{attachment}",
+ "#%s; name=\"%s\" <> [%s]{attachment}",
content_type,
- ((p = strrchr(file_name, '/')) == (char *)0) ? file_name : p + 1);
+ (p == (char *)0) ? file_name : p + 1,
+ (p == (char *)0) ? file_name : p + 1);
}
break;
} else {
/* Suppress Content-Id, insert Content-Disposition with
modification date and Content-Description wtih filename. */
+ p = strrchr(file_name, '/');
(void) fprintf (composition_file,
- "#%1$s; name=\"%2$s\" <>[%2$s]{attachment; modification-date=\"%3$s\"}",
+ "#%s; name=\"%s\" <>[%s]{attachment; modification-date=\"%s\"}",
content_type,
- ((p = strrchr(file_name, '/')) == (char *)0) ? file_name : p + 1,
+ (p == (char *)0) ? file_name : p + 1,
+ (p == (char *)0) ? file_name : p + 1,
dtime (&st.st_mtime, 0));
}
vec[vecp++] = "-queued";
time (&clock);
- snprintf (msgid, sizeof(msgid), "<%d.%ld@%s>",
- (int) getpid(), (long) clock, LocalName());
+ snprintf (msgid, sizeof(msgid), "%s", message_id (clock, 0));
fseek (in, start, SEEK_SET);
for (partno = 1; partno <= nparts; partno++) {
done (1);
vec[vecp] = NULL;
- for (i = 0; (child_id = m_vfork()) == NOTOK && i < 5; i++)
+ for (i = 0; (child_id = vfork()) == NOTOK && i < 5; i++)
sleep (5);
switch (child_id) {