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 <serhe.popovych@gmail.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
#include "json_writer.h"
#include "color.h"
-extern int show_pretty;
-
json_writer_t *get_json_writer(void);
/*
int show_details;
int oneline;
int brief;
-int show_pretty;
int json;
int timestamp;
const char *_SL_;
} 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;
perror("json object");
exit(1);
}
- if (show_pretty)
+ if (pretty)
jsonw_pretty(_jw, true);
jsonw_start_array(_jw);
}
int resolve_hosts;
int timestamp_short;
+int pretty;
int read_prop(const char *dev, char *prop, long *value)
{
int scan_interval;
int time_constant;
int show_errors;
-int pretty;
double W;
char **patterns;
int npatterns;
int ignore_history;
int no_output;
int json_output;
-int pretty;
int no_update;
int scan_interval;
int time_constant;
#include "utils.h"
#include "tc_util.h"
-extern int show_pretty;
-
static void explain(void)
{
fprintf(stderr,
{
int i = 0;
- if (!show_pretty)
+ if (!pretty)
goto show_k;
for (i = 0; i < ARRAY_SIZE(u32_pprinters); i++) {
int show_stats;
int show_details;
int show_raw;
-int show_pretty;
int show_graph;
int timestamp;
int force;
bool use_names;
int json;
-int pretty;
static char *conf_file;
} 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) {
++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;