summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Mintz <yuvalmin@broadcom.com>2013-05-26 07:55:55 +0300
committerBen Hutchings <bhutchings@solarflare.com>2013-07-01 16:58:19 +0100
commit49ef79284367a7fa410283e4b7f80ed3c3ea0e6c (patch)
tree25681cfa60653ba6318f52e884d189d4c0c45817
parented089a784131dc1ade4ef7e066ebcf5dfba5f79a (diff)
downloadethtool-49ef79284367a7fa410283e4b7f80ed3c3ea0e6c.tar.gz
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 <yuvalmin@broadcom.com> [bwh: Fix indentation] Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
-rw-r--r--ethtool.c12
1 files changed, 11 insertions, 1 deletions
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");