Message ID | 20231211140732.11475-7-bpoirier@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | cf7b528a21f67d5ef1ef1d9943bddc325255f6a4 |
Delegated to: | Stephen Hemminger |
Headers | show |
Series | bridge: vni: UI fixes | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On Mon, 11 Dec 2023 09:07:18 -0500 Benjamin Poirier <bpoirier@nvidia.com> wrote: > 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> > --- > bridge/vlan.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/bridge/vlan.c b/bridge/vlan.c > index dfc62f83..797b7802 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 { I think the fix needs to be deeper here. In JSON the width doesn't matter.
diff --git a/bridge/vlan.c b/bridge/vlan.c index dfc62f83..797b7802 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);