diff options
author | Yuval Mintz <yuvalmin@broadcom.com> | 2013-05-26 07:55:55 +0300 |
---|---|---|
committer | Ben Hutchings <bhutchings@solarflare.com> | 2013-07-01 16:58:19 +0100 |
commit | 49ef79284367a7fa410283e4b7f80ed3c3ea0e6c (patch) | |
tree | 25681cfa60653ba6318f52e884d189d4c0c45817 | |
parent | ed089a784131dc1ade4ef7e066ebcf5dfba5f79a (diff) | |
download | ethtool-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.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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"); |