[PATCH iproute2-next] ip: Use single variable to represent -pretty
From: Serhey Popovych <hidden>
Date: 2018-02-15 18:32:14
After commit a233caa0aaee ("json: make pretty printing optional") I get
following build failure:
LINK rtmon
../lib/libutil.a(json_print.o): In function `new_json_obj':
json_print.c:(.text+0x35): undefined reference to `show_pretty'
collect2: error: ld returned 1 exit status
make[1]: *** [rtmon] Error 1
make: *** [all] Error 2
It is caused by missing show_pretty variable in rtmon.
On the other hand tc/tc.c there are two distinct variables and single
matches() call that handles -pretty option thus setting show_pretty
will never happen. Note that since commit 44dcfe820185 ("Change
formatting of u32 back to default") show_pretty is used in tc/f_u32.c
so this is first place where -pretty introduced.
Furthermore other utilities like misc/ifstat.c and misc/nstat.c define
pretty variable, however only for their own purposes. They both support
JSON output and thus depend show_pretty in new_json_obj().
Assuming above use common variable to represent -pretty option, define
it in utils.c and declare in utils.h that is commonly used. Replace
show_pretty with pretty.
Fixes: a233caa0aaee ("json: make pretty printing optional")
Signed-off-by: Serhey Popovych <redacted>
---
include/json_print.h | 2 --
ip/ip.c | 3 +--
lib/json_print.c | 2 +-
lib/utils.c | 1 +
misc/ifstat.c | 1 -
misc/nstat.c | 1 -
tc/f_u32.c | 4 +---
tc/tc.c | 6 +-----
8 files changed, 5 insertions(+), 15 deletions(-)
diff --git a/include/json_print.h b/include/json_print.h
index 45a817c..2ca7830 100644
--- a/include/json_print.h
+++ b/include/json_print.h@@ -15,8 +15,6 @@ #include "json_writer.h" #include "color.h" -extern int show_pretty; - json_writer_t *get_json_writer(void); /*
diff --git a/ip/ip.c b/ip/ip.c
index 233a9d7..f624884 100644
--- a/ip/ip.c
+++ b/ip/ip.c@@ -31,7 +31,6 @@ int show_stats; int show_details; int oneline; int brief; -int show_pretty; int json; int timestamp; const char *_SL_;
@@ -261,7 +260,7 @@ int main(int argc, char **argv) } else if (matches(opt, "-json") == 0) { ++json; } else if (matches(opt, "-pretty") == 0) { - ++show_pretty; + ++pretty; } else if (matches(opt, "-rcvbuf") == 0) { unsigned int size;
diff --git a/lib/json_print.c b/lib/json_print.c
index b507b14..bda7293 100644
--- a/lib/json_print.c
+++ b/lib/json_print.c@@ -28,7 +28,7 @@ void new_json_obj(int json) perror("json object"); exit(1); } - if (show_pretty) + if (pretty) jsonw_pretty(_jw, true); jsonw_start_array(_jw); }
diff --git a/lib/utils.c b/lib/utils.c
index d86c2ee..cbe5d8d 100644
--- a/lib/utils.c
+++ b/lib/utils.c@@ -37,6 +37,7 @@ int resolve_hosts; int timestamp_short; +int pretty; int read_prop(const char *dev, char *prop, long *value) {
diff --git a/misc/ifstat.c b/misc/ifstat.c
index ac3eff6..50b906e 100644
--- a/misc/ifstat.c
+++ b/misc/ifstat.c@@ -45,7 +45,6 @@ int no_update; int scan_interval; int time_constant; int show_errors; -int pretty; double W; char **patterns; int npatterns;
diff --git a/misc/nstat.c b/misc/nstat.c
index a4dd405..ffa14b1 100644
--- a/misc/nstat.c
+++ b/misc/nstat.c@@ -37,7 +37,6 @@ int reset_history; int ignore_history; int no_output; int json_output; -int pretty; int no_update; int scan_interval; int time_constant;
diff --git a/tc/f_u32.c b/tc/f_u32.c
index 019d56c..b6064cd 100644
--- a/tc/f_u32.c
+++ b/tc/f_u32.c@@ -25,8 +25,6 @@ #include "utils.h" #include "tc_util.h" -extern int show_pretty; - static void explain(void) { fprintf(stderr,
@@ -965,7 +963,7 @@ static void show_keys(FILE *f, const struct tc_u32_key *key) { int i = 0; - if (!show_pretty) + if (!pretty) goto show_k; for (i = 0; i < ARRAY_SIZE(u32_pprinters); i++) {
diff --git a/tc/tc.c b/tc/tc.c
index aba5c10..cfccf87 100644
--- a/tc/tc.c
+++ b/tc/tc.c@@ -33,7 +33,6 @@ int show_stats; int show_details; int show_raw; -int show_pretty; int show_graph; int timestamp;
@@ -42,7 +41,6 @@ int use_iec; int force; bool use_names; int json; -int pretty; static char *conf_file;
@@ -449,7 +447,7 @@ int main(int argc, char **argv) } else if (matches(argv[1], "-raw") == 0) { ++show_raw; } else if (matches(argv[1], "-pretty") == 0) { - ++show_pretty; + ++pretty; } else if (matches(argv[1], "-graph") == 0) { show_graph = 1; } else if (matches(argv[1], "-Version") == 0) {
@@ -485,8 +483,6 @@ int main(int argc, char **argv) ++timestamp_short; } else if (matches(argv[1], "-json") == 0) { ++json; - } else if (matches(argv[1], "-pretty") == 0) { - ++pretty; } else { fprintf(stderr, "Option \"%s\" is unknown, try \"tc -help\".\n", argv[1]); return -1;
--
1.7.10.4