ref: 7816d47dc8abc54a77a7a11eff45317b459184bf
parent: 99f6a432969cd42aa1dcba580eefe9d23601e51b
author: Miguel Pineiro Jr <mpj@pineiro.cc>
date: Thu Dec 16 15:07:10 EST 2021
When closing, don't flush input streams They don't need it.
--- a/run.c
+++ b/run.c
@@ -1872,7 +1872,8 @@
for (i = 0; i < nfiles; i++) {if (!files[i].fname || strcmp(x->sval, files[i].fname) != 0)
continue;
- fflush(files[i].fp);
+ if (files[i].mode == GT || files[i].mode == '|')
+ fflush(files[i].fp);
if (ferror(files[i].fp)) {if ((files[i].mode == GT && files[i].fp != stderr)
|| files[i].mode == '|')
@@ -1909,7 +1910,8 @@
for (i = 0; i < nfiles; i++) {if (! files[i].fp)
continue;
- fflush(files[i].fp);
+ if (files[i].mode == GT || files[i].mode == '|')
+ fflush(files[i].fp);
if (ferror(files[i].fp)) {if ((files[i].mode == GT && files[i].fp != stderr)
|| files[i].mode == '|')
--
⑨