=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/awk/run.c,v retrieving revision 1.64 retrieving revision 1.65 diff -c -r1.64 -r1.65 *** src/usr.bin/awk/run.c 2020/07/20 18:55:15 1.64 --- src/usr.bin/awk/run.c 2020/07/20 18:57:19 1.65 *************** *** 1,4 **** ! /* $OpenBSD: run.c,v 1.64 2020/07/20 18:55:15 millert Exp $ */ /**************************************************************** Copyright (C) Lucent Technologies 1997 All Rights Reserved --- 1,4 ---- ! /* $OpenBSD: run.c,v 1.65 2020/07/20 18:57:19 millert Exp $ */ /**************************************************************** Copyright (C) Lucent Technologies 1997 All Rights Reserved *************** *** 1950,1956 **** continue; if (ferror(files[i].fp)) FATAL("i/o error occurred on %s", files[i].fname); ! if (files[i].mode == '|' || files[i].mode == LE) stat = pclose(files[i].fp) == -1; else stat = fclose(files[i].fp) == EOF; --- 1950,1959 ---- continue; if (ferror(files[i].fp)) FATAL("i/o error occurred on %s", files[i].fname); ! if (files[i].fp == stdin || files[i].fp == stdout || ! files[i].fp == stderr) ! stat = freopen("/dev/null", "r+", files[i].fp) == NULL; ! else if (files[i].mode == '|' || files[i].mode == LE) stat = pclose(files[i].fp) == -1; else stat = fclose(files[i].fp) == EOF; *************** *** 1960,1965 **** --- 1963,1969 ---- xfree(files[i].fname); files[i].fname = NULL; /* watch out for ref thru this */ files[i].fp = NULL; + break; } tempfree(x); x = gettemp();