process (char *folder, char *fname, int ofilen, int ofilec)
{
/* static to prevent "might be clobbered" warning from gcc 4.9.2: */
- static char *cp = NULL;
- static FILE *fp = NULL;
+ static char *cp;
+ static FILE *fp;
struct mcomp *c1;
struct stat st;
struct arglist *ap;
/* volatile to prevent "might be clobbered" warning from gcc: */
char *volatile fname2 = fname ? fname : "(stdin)";
+ cp = NULL;
+ fp = NULL;
+
switch (setjmp (env)) {
case OK:
if (fname) {
if (ontty != PITTY)
SIGNAL (SIGINT, intrser);
mhlfile (fp, cp, ofilen, ofilec); /* FALL THROUGH! */
+ free (cp);
for (ap = arglist_head; ap; ap = ap->a_next) {
fmt_free(ap->a_fmt, 0);
SIGNAL (SIGINT, SIG_IGN);
if (mhl_action == NULL && fp != stdin && fp != NULL)
fclose (fp);
- free (cp);
if (holder.c_text) {
free (holder.c_text);
holder.c_text = NULL;