commit: ec98fcc8ee03157d9da25886729904744a92b1fe
parent 6c1f9819cfc7f30648c1776a7941c9351b86d94c
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date:   Tue,  1 Mar 2022 14:56:53 +0100
bin/tee: Return non-zero on errorneous write
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/bin/tee.c b/bin/tee.c
@@ -65,11 +65,14 @@ main(int argc, char *argv[])
 	}
 
 	// main loop, note that failed writes shouldn't make tee exit
+	int err = 0;
+
 	while((c = fgetc(stdin)) != EOF)
 	{
 		if(fputc(c, stdout) == EOF)
 		{
 			fprintf(stderr, "Error writing ‘<stdout>’: %s\n", strerror(errno));
+			err = 1;
 			errno = 0;
 		}
 
@@ -78,6 +81,7 @@ main(int argc, char *argv[])
 			if(fputc(c, fds[argi]) == EOF)
 			{
 				fprintf(stderr, "Error writing to argument %d: %s\n", argi, strerror(errno));
+				err = 1;
 				errno = 0;
 			}
 		}
@@ -94,5 +98,5 @@ main(int argc, char *argv[])
 
 	cleanup(fds);
 
-	return 0;
+	return err;
 }