X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhl.c;h=540367356acc7c5d0d80268d0e28e76f4f43441a;hp=45113f3ca2f20d7c550c5c51b081795a507ac889;hb=5a12e4b0477d3ad699f5713682d26079f2792d17;hpb=a26d3f6e071fa5704406317fe50a1805659ed2f8 diff --git a/uip/mhl.c b/uip/mhl.c index 45113f3..5403673 100644 --- a/uip/mhl.c +++ b/uip/mhl.c @@ -565,8 +565,7 @@ process(char *fname, int ofilen, int ofilec) FILE *fp = NULL; struct mcomp *c1; - switch (setjmp(env)) { - case OK: + if (setjmp(env) == 0) { if (fname) { fp = fopen(fname, "r"); if (fp == NULL) { @@ -580,20 +579,18 @@ process(char *fname, int ofilen, int ofilec) } SIGNAL(SIGINT, intrser); mhlfile(fp, fname, ofilen, ofilec); - /* FALL THROUGH! */ - default: - SIGNAL(SIGINT, SIG_IGN); - if (fp != stdin) - fclose(fp); - if (holder.c_text) { - free(holder.c_text); - holder.c_text = NULL; - } - free_queue(&msghd, &msgtl); - for (c1 = fmthd; c1; c1 = c1->c_next) - c1->c_flags &= ~HDROUTPUT; - break; } + + SIGNAL(SIGINT, SIG_IGN); + if (fp != stdin) + fclose(fp); + if (holder.c_text) { + free(holder.c_text); + holder.c_text = NULL; + } + free_queue(&msghd, &msgtl); + for (c1 = fmthd; c1; c1 = c1->c_next) + c1->c_flags &= ~HDROUTPUT; }