]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
networkctl: ellipsize long LLDP fields in table output
authorLennart Poettering <lennart@poettering.net>
Sun, 21 Feb 2016 13:31:51 +0000 (14:31 +0100)
committerLennart Poettering <lennart@poettering.net>
Sun, 21 Feb 2016 19:58:59 +0000 (20:58 +0100)
src/network/networkctl.c

index 23d8c4555b9e54ec75148e711468286edfb33fdc..d1aec9a7dc9643970db24cddc89ce606031fc669 100644 (file)
@@ -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);