bridge: vlan: Use printf() to avoid temporary buffer

Currently, print_vlan_tunnel_info() is first outputting a formatted string
to a temporary buffer in order to use print_string() which can handle json
or normal text mode. Since this specific string is only output in normal
text mode, by calling printf() directly, we can avoid the need to first
output to a temporary string buffer.

Reviewed-by: Petr Machata <petrm@nvidia.com>
Tested-by: Petr Machata <petrm@nvidia.com>
Signed-off-by: Benjamin Poirier <bpoirier@nvidia.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
Benjamin Poirier 2023-12-11 09:07:18 -05:00 committed by Stephen Hemminger
parent 58c8a08175
commit cf7b528a21

View File

@ -662,11 +662,8 @@ static void print_vlan_tunnel_info(struct rtattr *tb, int ifindex)
open_json_object(NULL);
width = print_range("vlan", last_vid_start, tunnel_vid);
if (width <= VLAN_ID_LEN) {
char buf[VLAN_ID_LEN + 1];
snprintf(buf, sizeof(buf), "%-*s",
VLAN_ID_LEN - width, "");
print_string(PRINT_FP, NULL, "%s ", buf);
if (!is_json_context())
printf("%-*s ", VLAN_ID_LEN - width, "");
} else {
fprintf(stderr, "BUG: vlan range too wide, %u\n",
width);