X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/bf3160aa94f981374f0c6353344fd68a4e1daa12..6fd1d18f:/uip/sendsbr.c?ds=sidebyside diff --git a/uip/sendsbr.c b/uip/sendsbr.c index 41060100..d7e76033 100644 --- a/uip/sendsbr.c +++ b/uip/sendsbr.c @@ -24,9 +24,10 @@ #ifdef OAUTH_SUPPORT #include #endif -#include "../sbr/m_maildir.h" -#include "../sbr/m_mktemp.h" -#include "../sbr/message_id.h" +#include "h/done.h" +#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 **); @@ -100,7 +101,7 @@ sendsbr (char **vec, int vecp, char *program, char *draft, struct stat *st, execvp(buildprogram, buildvec); fprintf(stderr, "unable to exec "); perror(buildmimeproc); - _exit(-1); + _exit(1); break; default: @@ -109,7 +110,7 @@ sendsbr (char **vec, int vecp, char *program, char *draft, struct stat *st, break; } - done=armed_done; + set_done(armed_done); switch (setjmp (env)) { case OK: /* @@ -175,7 +176,7 @@ sendsbr (char **vec, int vecp, char *program, char *draft, struct stat *st, break; } - done=exit; + set_done(exit); if (distfile) (void) m_unlink (distfile); @@ -302,7 +303,7 @@ splitmsg (char **vec, int vecp, char *program, char *drft, /* Only one part, nothing to split */ if (nparts == 1) { free (cp); - mh_xfree(dp); + free(dp); fclose (in); return sendaux (vec, vecp, program, drft, st); @@ -408,7 +409,7 @@ splitmsg (char **vec, int vecp, char *program, char *drft, } free (cp); - mh_xfree(dp); + free(dp); fclose (in); /* close the draft */ return status; @@ -424,7 +425,7 @@ static int sendaux (char **vec, int vecp, char *program, char *drft, struct stat *st) { pid_t child_id; - int i, status, fd, fd2; + int status, fd, fd2; char backup[BUFSIZ], buf[BUFSIZ]; fd = pushsw ? tmp_fd () : NOTOK; @@ -445,9 +446,7 @@ sendaux (char **vec, int vecp, char *program, char *drft, struct stat *st) done (1); vec[vecp] = NULL; - for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++) - sleep (5); - + child_id = fork(); switch (child_id) { case -1: /* oops -- fork error */ @@ -469,7 +468,7 @@ sendaux (char **vec, int vecp, char *program, char *drft, struct stat *st) execvp (program, vec); fprintf (stderr, "unable to exec "); perror (postproc); - _exit (-1); + _exit(1); default: /* @@ -514,14 +513,12 @@ static void alert (char *file, int out) { pid_t child_id; - int i, in, argp; + int in, argp; char buf[BUFSIZ]; char *program; char **arglist; - for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++) - sleep (5); - + child_id = fork(); switch (child_id) { case NOTOK: /* oops -- fork error */ @@ -574,7 +571,7 @@ alert (char *file, int out) execvp (program, arglist); fprintf (stderr, "unable to exec "); perror (mailproc); - _exit (-1); + _exit(1); default: /* no waiting... */ break; @@ -827,7 +824,7 @@ setup_oauth_params(char *vec[], int *vecp, const char *auth_svc, vec[(*vecp)++] = mh_xstrdup("-authservice"); vec[(*vecp)++] = mh_xstrdup(auth_svc); vec[(*vecp)++] = mh_xstrdup("-oauthcredfile"); - vec[(*vecp)++] = mh_xstrdup(mh_oauth_cred_fn(auth_svc)); + vec[(*vecp)++] = mh_oauth_cred_fn(auth_svc); vec[(*vecp)++] = mh_xstrdup("-oauthclientid"); vec[(*vecp)++] = getcpy(svc.client_id); vec[(*vecp)++] = mh_xstrdup("-oauthclientsecret");