From d696b7ba45955c46939e0640dcf1a6009ef09222 Mon Sep 17 00:00:00 2001 From: Simon Lieb Date: Wed, 7 Aug 2013 19:49:34 +0200 Subject: [PATCH] Add parameter forcing flush after each bytes. --- slow.c | 9 ++++++++- todo.txt | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/slow.c b/slow.c index ddcb0f0..f37c0a6 100644 --- a/slow.c +++ b/slow.c @@ -8,7 +8,7 @@ char *argv0; void usage() { - printf("usage: %s [-t usec]\n", argv0); + printf("usage: %s [-t usec] [-F]\n", argv0); exit(EXIT_FAILURE); } @@ -16,11 +16,15 @@ int main(int argc, char *argv[]) { char buffer; size_t nread; useconds_t useconds = 1000000; // default 1 second + unsigned int flush = 0; ARGBEGIN { case 't': useconds = atoi(EARGF(usage())); break; + case 'F': + flush = 1; + break; default: usage(); } ARGEND; @@ -28,6 +32,9 @@ int main(int argc, char *argv[]) { while((nread = fread(&buffer, 1, sizeof buffer, stdin)) > 0) { usleep(useconds); fwrite(&buffer, 1, nread, stdout); + if(flush) { + fflush(stdout); + } } return 0; diff --git a/todo.txt b/todo.txt index e4546d9..07d55a3 100644 --- a/todo.txt +++ b/todo.txt @@ -1,4 +1,4 @@ -- [ ] Add forced flush option. -f ? -F ? +- [x] Add forced flush option. -f ? -F ? - [ ] Write man page - [ ] Send errors to sderr - [ ] Release v1