From: Benjamin Poirier Date: Mon, 11 Dec 2023 14:07:18 +0000 (-0500) Subject: bridge: vlan: Use printf() to avoid temporary buffer X-Git-Tag: v6.7.0~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf7b528a21f67d5ef1ef1d9943bddc325255f6a4;p=thirdparty%2Fiproute2.git 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 --- 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);