if ((cp = getenv("mhdist")) && *cp && (distsw = atoi(cp)) && altmsg) {
vec[vecp++] = "-dist";
- distfile = getcpy(m_mktemp2(altmsg, invo_name, NULL, NULL));
- if (link(altmsg, distfile) == NOTOK) {
- if (errno != EXDEV) {
- adios(distfile, "unable to link %s to",
- altmsg);
- }
- free(distfile);
- distfile = getcpy(m_mktemp2(NULL, invo_name,
- NULL, NULL));
- if ((in = open(altmsg, O_RDONLY)) == NOTOK) {
- adios(altmsg, "unable to open");
- }
- fstat(in, &st2);
- if ((out = creat(distfile, (int)st2.st_mode & 0777)) ==
- NOTOK) {
- adios(distfile, "unable to write");
- }
- cpydata(in, out, altmsg, distfile);
- close(in);
- close(out);
+ if ((in = open(altmsg, O_RDONLY)) == NOTOK) {
+ adios(altmsg, "unable to open for reading");
}
+ fstat(in, &st2);
+ distfile = getcpy(m_mktemp2(NULL, invo_name, NULL, NULL));
+ if ((out = creat(distfile, (int)st2.st_mode & 0777))==NOTOK) {
+ adios(distfile, "unable to open for writing");
+ }
+ cpydata(in, out, altmsg, distfile);
+ close(in);
+ close(out);
} else {
distfile = NULL;
}
** Note that mhbuild is in the context as buildmimeproc.
*/
sprintf(buf, "%s %s", buildmimeproc, composition_file_name);
-
if (system(buf) != 0) {
/* some problem */
clean_up_temporary_files();
sendaux(char **vec, int vecp, char *drft, struct stat *st)
{
pid_t child_id;
- int i, status, fd;
+ int status, fd;
char backup[BUFSIZ];
/*
}
vec[vecp] = NULL;
- for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++) {
- sleep(5);
- }
- switch (child_id) {
+ switch (child_id = fork()) {
case -1:
/* oops -- fork error */
adios("fork", "unable to");
alert(char *file, int out)
{
pid_t child_id;
- int i, in;
+ int in;
char buf[BUFSIZ];
- for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++) {
- sleep(5);
- }
-
- switch (child_id) {
+ switch (child_id = fork()) {
case NOTOK:
/* oops -- fork error */
advise("fork", "unable to");
/* create subject for error notification */
snprintf(buf, sizeof(buf), "send failed on %s",
forwsw ? "enclosed draft" : file);
-
execlp(mailproc, mhbasename(mailproc), getusername(),
"-subject", buf, NULL);
fprintf(stderr, "unable to exec ");