From cf7b528a21f67d5ef1ef1d9943bddc325255f6a4 Mon Sep 17 00:00:00 2001 From: Benjamin Poirier Date: Mon, 11 Dec 2023 09:07:18 -0500 Subject: [PATCH] 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 Tested-by: Petr Machata Signed-off-by: Benjamin Poirier Signed-off-by: Stephen Hemminger --- bridge/vlan.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/bridge/vlan.c b/bridge/vlan.c index dfc62f83a..797b7802a 100644 --- a/bridge/vlan.c +++ b/bridge/vlan.c @@ -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); -- 2.47.2