X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/0152658e840581077e5cd575b5195faf18b9df8b..448debd081b8bfad38ba43b21bea34a9c0eb49c2:/uip/mhlsbr.c diff --git a/uip/mhlsbr.c b/uip/mhlsbr.c index e94e8d3e..8d759d65 100644 --- a/uip/mhlsbr.c +++ b/uip/mhlsbr.c @@ -870,14 +870,15 @@ parse (void) */ static void -process (char *folder, char *filename, int ofilen, int ofilec) +process (char *folder, char *fname, int ofilen, int ofilec) { char *cp = NULL; - char *fname = filename; FILE *fp = NULL; struct mcomp *c1; struct stat st; struct arglist *ap; + /* volatile to prevent "might be clobbered" warning from gcc: */ + char *volatile fname2 = fname ? fname : "(stdin)"; switch (setjmp (env)) { case OK: @@ -889,7 +890,6 @@ process (char *folder, char *filename, int ofilen, int ofilec) return; } } else { - fname = "(stdin)"; fp = stdin; } if (fstat(fileno(fp), &st) == 0) { @@ -897,7 +897,7 @@ process (char *folder, char *filename, int ofilen, int ofilec) } else { filesize = 0; } - cp = folder ? concat (folder, ":", fname, NULL) : getcpy (fname); + cp = folder ? concat (folder, ":", fname2, NULL) : getcpy (fname2); if (ontty != PITTY) SIGNAL (SIGINT, intrser); mhlfile (fp, cp, ofilen, ofilec); /* FALL THROUGH! */