X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fsendsbr.c;h=fd21acd37e4fbf41e889416e129a327ec6242a69;hp=aeba011e1377352e48db87e90cd7ea3d862b7ba0;hb=d8916ff5d389de5ab225cd6f40aeda1b285d0f28;hpb=30fd2ad6d3eff3749b2ae99ec90d2215bf1b1aca diff --git a/uip/sendsbr.c b/uip/sendsbr.c index aeba011..fd21acd 100644 --- a/uip/sendsbr.c +++ b/uip/sendsbr.c @@ -41,7 +41,6 @@ char *altmsg = NULL; /* .. */ char *annotext = NULL; char *distfile = NULL; -static int armed = 0; static jmp_buf env; static char body_file_name[MAXPATHLEN + 1]; /* name of temporary file for body content */ @@ -56,12 +55,12 @@ static FILE *composition_file; /* composition file pointer */ * external prototypes */ int sendsbr (char **, int, char *, struct stat *, int, char *, int); -int done (int); char *getusername (void); /* * static prototypes */ +static void armed_done (int) NORETURN; static void alert (char *, int); static int tmp_fd (void); static void anno (int, struct stat *); @@ -118,7 +117,7 @@ sendsbr (char **vec, int vecp, char *drft, struct stat *st, int rename_drft, cha } } - armed++; + done=armed_done; switch (setjmp (env)) { case OK: /* @@ -154,7 +153,7 @@ sendsbr (char **vec, int vecp, char *drft, struct stat *st, int rename_drft, cha break; } - armed = 0; + done=exit; if (distfile) unlink (distfile); @@ -1075,12 +1074,10 @@ oops: } -int -done (int status) +static void +armed_done (int status) { - if (armed) - longjmp (env, status ? status : NOTOK); + longjmp (env, status ? status : NOTOK); exit (status); - return 1; /* dead code to satisfy the compiler */ }