diff options
author | Miguel Pineiro Jr <mpj@pineiro.cc> | 2021-12-16 20:07:10 -0500 |
---|---|---|
committer | Miguel Pineiro Jr <mpj@pineiro.cc> | 2021-12-16 20:07:10 -0500 |
commit | 7816d47dc8abc54a77a7a11eff45317b459184bf (patch) | |
tree | daa1e0e59f05398663fb0c451e8b5104f002505d | |
parent | 99f6a432969cd42aa1dcba580eefe9d23601e51b (diff) | |
download | one-true-awk-7816d47dc8abc54a77a7a11eff45317b459184bf.tar.gz |
When closing, don't flush input streams
They don't need it.
-rw-r--r-- | run.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1872,7 +1872,8 @@ Cell *closefile(Node **a, int n) 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 @@ void closeall(void) 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 == '|') |