diff options
Diffstat (limited to 'ethtool.c')
-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"); |