From 49ef79284367a7fa410283e4b7f80ed3c3ea0e6c Mon Sep 17 00:00:00 2001 From: Yuval Mintz Date: Sun, 26 May 2013 07:55:55 +0300 Subject: Ethtool: Beautify private flags print When printing the private flags of the device, align all strings to have the same length. Signed-off-by: Yuval Mintz [bwh: Fix indentation] Signed-off-by: Ben Hutchings --- ethtool.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'ethtool.c') diff --git a/ethtool.c b/ethtool.c index 8cc10b5..b63907b 100644 --- a/ethtool.c +++ b/ethtool.c @@ -3445,6 +3445,7 @@ static int do_gprivflags(struct cmd_context *ctx) struct ethtool_gstrings *strings; struct ethtool_value flags; unsigned int i; + int max_len = 0, cur_len; if (ctx->argc != 0) exit_bad_args(); @@ -3472,9 +3473,18 @@ static int do_gprivflags(struct cmd_context *ctx) return 1; } + /* Find longest string and align all strings accordingly */ + for (i = 0; i < strings->len; i++) { + cur_len = strlen((const char*)strings->data + + i * ETH_GSTRING_LEN); + if (cur_len > max_len) + max_len = cur_len; + } + printf("Private flags for %s:\n", ctx->devname); for (i = 0; i < strings->len; i++) - printf("%s: %s\n", + printf("%-*s: %s\n", + max_len, (const char *)strings->data + i * ETH_GSTRING_LEN, (flags.data & (1U << i)) ? "on" : "off"); -- cgit v1.2.1