about summary refs log tree commit diff
path: root/rwc.c
diff options
context:
space:
mode:
authorDuncaen <mail@duncano.de>2017-05-30 01:40:04 +0200
committerLeah Neukirchen <leah@vuxu.org>2017-05-30 12:49:01 +0200
commit43c62fd5e9c934ceb5559d464789ca161682a358 (patch)
tree22be273a7436f2e8cf930cffe2b0d788b2146d46 /rwc.c
parente0090177d10e5d2a4b951c71d1f14d4ec6d3aa2a (diff)
downloadrwc-43c62fd5e9c934ceb5559d464789ca161682a358.tar.gz
rwc-43c62fd5e9c934ceb5559d464789ca161682a358.tar.xz
rwc-43c62fd5e9c934ceb5559d464789ca161682a358.zip
rwc: add e flag to exit after the first reported change
Closes: #1 [via git-merge-pr]
Diffstat (limited to 'rwc.c')
-rw-r--r--rwc.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/rwc.c b/rwc.c
index 664fa1c..94fcdc2 100644
--- a/rwc.c
+++ b/rwc.c
@@ -27,6 +27,7 @@ char ibuf[8192];
 int ifd;
 
 int dflag;
+int eflag;
 int pflag;
 char input_delim = '\n';
 
@@ -93,13 +94,14 @@ main(int argc, char *argv[])
 
 	argv0 = argv[0];
 
-        while ((c = getopt(argc, argv, "0dp")) != -1)
+        while ((c = getopt(argc, argv, "0dep")) != -1)
 		switch(c) {
 		case '0': input_delim = 0; break;
 		case 'd': dflag = IN_DELETE | IN_DELETE_SELF; break;
+		case 'e': eflag++; break;
 		case 'p': pflag++; break;
 		default:
-                        fprintf(stderr, "Usage: %s [-0dp] [PATH...]\n", argv0);
+                        fprintf(stderr, "Usage: %s [-0dep] [PATH...]\n", argv0);
                         exit(2);
                 }
 
@@ -185,6 +187,8 @@ from_stdin:
 				    name,
 				    input_delim);
 				fflush(stdout);
+				if (eflag)
+					exit(0);
 			}
 		}
 	}