From d08191a242d51f72e75d41f188b14e67dd8851c4 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 21 Feb 2016 14:31:51 +0100 Subject: [PATCH] networkctl: ellipsize long LLDP fields in table output --- src/network/networkctl.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/network/networkctl.c b/src/network/networkctl.c index 23d8c45..d1aec9a 100644 --- a/src/network/networkctl.c +++ b/src/network/networkctl.c @@ -940,6 +940,7 @@ static int link_lldp_status(int argc, char *argv[], void *userdata) { } for (;;) { + _cleanup_free_ char *cid = NULL, *pid = NULL, *sname = NULL, *pdesc = NULL; const char *chassis_id = NULL, *port_id = NULL, *system_name = NULL, *port_description = NULL, *capabilities = NULL; _cleanup_(sd_lldp_neighbor_unrefp) sd_lldp_neighbor *n = NULL; uint16_t cc; @@ -957,6 +958,30 @@ static int link_lldp_status(int argc, char *argv[], void *userdata) { (void) sd_lldp_neighbor_get_system_name(n, &system_name); (void) sd_lldp_neighbor_get_port_description(n, &port_description); + if (chassis_id) { + cid = ellipsize(chassis_id, 17, 100); + if (cid) + chassis_id = cid; + } + + if (port_id) { + pid = ellipsize(port_id, 17, 100); + if (pid) + port_id = pid; + } + + if (system_name) { + sname = ellipsize(system_name, 16, 100); + if (sname) + system_name = sname; + } + + if (port_description) { + pdesc = ellipsize(port_description, 16, 100); + if (pdesc) + port_description = pdesc; + } + if (sd_lldp_neighbor_get_enabled_capabilities(n, &cc) >= 0) capabilities = lldp_capabilities_to_string(cc); -- 2.7.4