+++ /dev/null
-From 3c4b5a852d5bb9070c7fb4428aa50f2e3e1f6e1b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
-Date: Thu, 19 Sep 2013 11:25:49 +0200
-Subject: [PATCH] Confirm success for each tc -batch command
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-If `tc -force -batch' is fed by a controlling program from a pipe,
-it's not possible to recognize when a command has been processes
-successfully.
-
-This patch adds an optional `-OK' option to the tc(8) tool, so `tc
--force -OK -batch' will print "OK\n" to standard output on each
-successfully completed tc command.
-
-Signed-off-by: Petr Písař <ppisar@redhat.com>
----
- man/man8/tc.8 | 8 +++++++-
- tc/tc.c | 8 +++++++-
- 2 files changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/man/man8/tc.8 b/man/man8/tc.8
-index e0acfeb..583eae2 100644
---- a/man/man8/tc.8
-+++ b/man/man8/tc.8
-@@ -49,7 +49,7 @@ DEV
- DEV
-
- .P
--.B tc [ -force ] -b\fR[\fIatch\fR] \fB[ filename ]
-+.B tc [ -force ] [ -OK ] -b\fR[\fIatch\fR] \fB[ filename ]
-
- .ti 8
- .IR FORMAT " := {"
-@@ -440,6 +440,12 @@ First failure will cause termination of tc.
- don't terminate tc on errors in batch mode.
- If there were any errors during execution of the commands, the application return code will be non zero.
-
-+.TP
-+.BR "\-OK"
-+in batch mode, print
-+.B OK
-+and a new line on standard output after each successfully interpreted command.
-+
- .SH HISTORY
- .B tc
- was written by Alexey N. Kuznetsov and added in Linux 2.2.
-diff --git a/tc/tc.c b/tc/tc.c
-index 9b50e74..b43bb47 100644
---- a/tc/tc.c
-+++ b/tc/tc.c
-@@ -39,6 +39,7 @@ int batch_mode = 0;
- int resolve_hosts = 0;
- int use_iec = 0;
- int force = 0;
-+int ok = 0;
- struct rtnl_handle rth;
-
- static void *BODY = NULL; /* cached handle dlopen(NULL) */
-@@ -183,7 +184,7 @@ noexist:
- static void usage(void)
- {
- fprintf(stderr, "Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }\n"
-- " tc [-force] -batch filename\n"
-+ " tc [-force] [-OK] -batch filename\n"
- "where OBJECT := { qdisc | class | filter | action | monitor }\n"
- " OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }\n");
- }
-@@ -251,6 +252,9 @@ static int batch(const char *name)
- ret = 1;
- if (!force)
- break;
-+ } else if (ok) {
-+ printf("OK\n");
-+ fflush(stdout);
- }
- }
- if (line)
-@@ -288,6 +292,8 @@ int main(int argc, char **argv)
- return 0;
- } else if (matches(argv[1], "-force") == 0) {
- ++force;
-+ } else if (matches(argv[1], "-OK") == 0) {
-+ ++ok;
- } else if (matches(argv[1], "-batch") == 0) {
- argc--; argv++;
- if (argc <= 1)
---
-1.8.3.1
-