]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
bridge: vlan: Use printf() to avoid temporary buffer
authorBenjamin Poirier <bpoirier@nvidia.com>
Mon, 11 Dec 2023 14:07:18 +0000 (09:07 -0500)
committerStephen Hemminger <stephen@networkplumber.org>
Fri, 22 Dec 2023 17:54:23 +0000 (09:54 -0800)
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>
bridge/vlan.c

index dfc62f83a5df255146a59e949297d09aa416a41e..797b7802ad25a3dbec3db7e9036557e60ca3109e 100644 (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);