summaryrefslogtreecommitdiff
path: root/ethtool.c
diff options
context:
space:
mode:
Diffstat (limited to 'ethtool.c')
-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");