X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/a23477eb9bd7d1af5f66a171041bf72af932488e..63621a81d16ab743de6b57d47578a9a2c670ad22:/uip/whatnowsbr.c diff --git a/uip/whatnowsbr.c b/uip/whatnowsbr.c index 6c82e24d..72b315f4 100644 --- a/uip/whatnowsbr.c +++ b/uip/whatnowsbr.c @@ -41,10 +41,12 @@ #include #include #include - #ifdef OAUTH_SUPPORT # include #endif +#include "sbr/m_maildir.h" +#include "sbr/m_mktemp.h" +#include "sbr/mime_type.h" #define WHATNOW_SWITCHES \ X("draftfolder +folder", 0, DFOLDSW) \ @@ -197,8 +199,7 @@ WhatNow (int argc, char **argv) } if (drft) adios (NULL, "only one draft at a time!"); - else - drft = cp; + drft = cp; } if ((drft == NULL && (drft = getenv ("mhdraft")) == NULL) || *drft == 0) @@ -706,8 +707,8 @@ editfile (char **ed, char **arg, char *file, int use, struct msgs *mp, } if (altmsg) { if (mp) - m_putenv ("mhfolder", mp->foldpath); - m_putenv ("editalt", altpath); + setenv("mhfolder", mp->foldpath, 1); + setenv("editalt", altpath, 1); } vec = argsplit(*ed, &prog, &vecp); @@ -800,7 +801,7 @@ static int sendfile (char **arg, char *file, int pushsw) { pid_t child_id; - int i, vecp; + int vecp; char *cp, *sp, **vec, *program; /* @@ -817,8 +818,7 @@ sendfile (char **arg, char *file, int pushsw) context_save (); /* save the context file */ fflush (stdout); - for (i = 0; (child_id = fork()) == NOTOK && i < 5; i++) - sleep (5); + child_id = fork(); switch (child_id) { case NOTOK: inform("unable to fork, so sending directly..."); @@ -1172,7 +1172,7 @@ sendit (char *sp, char **arg, char *file, int pushed) inform("missing argument to %s", argp[-2]); return; } - /* FALLTHRU */ + continue; case SNDRFSW: continue; } @@ -1194,7 +1194,7 @@ sendit (char *sp, char **arg, char *file, int pushed) if ((cp = getenv ("SIGNATURE")) == NULL || *cp == 0) if ((cp = context_find ("signature")) && *cp) - m_putenv ("SIGNATURE", cp); + setenv("SIGNATURE", cp, 1); if ((annotext = getenv ("mhannotate")) == NULL || *annotext == 0) annotext = NULL; @@ -1310,7 +1310,7 @@ static int checkmimeheader (char *drft) { FILE *f; - m_getfld_state_t gstate = 0; + m_getfld_state_t gstate; char buf[NMH_BUFSIZ], name[NAMESZ]; int state, retval = 0; @@ -1319,9 +1319,10 @@ checkmimeheader (char *drft) return (0); } + gstate = m_getfld_state_init(f); for (;;) { int bufsz = sizeof(buf); - switch (state = m_getfld(&gstate, name, buf, &bufsz, f)) { + switch (state = m_getfld2(&gstate, name, buf, &bufsz)) { case FLD: case FLDPLUS: if (strcasecmp(name, VRSN_FIELD) == 0) {