shithub: trueawk

Download patch

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 == '|')
--