Blob Blame History Raw
diff --git a/netstat.c b/netstat.c
index c084dfb..cfcfb78 100644
--- a/netstat.c
+++ b/netstat.c
@@ -743,6 +743,7 @@ static void igmp_do_one(int lnr, const char *line,const char *prot)
     static int igmp6_flag = 0;
     static char device[16];
     int num, idx, refcnt;
+    char* offset;
 
     if (lnr == 0) {
 	/* IPV6 ONLY */
@@ -794,17 +795,21 @@ static void igmp_do_one(int lnr, const char *line,const char *prot)
 #if HAVE_AFINET
 	if (line[0] != '\t') {
 	    if (idx_flag) {
-		if ((num = sscanf( line, "%d\t%10c", &idx, device)) < 2) {
+		if ((num = sscanf( line, "%d\t%15c", &idx, device)) < 2) {
 		    fprintf(stderr, _("warning, got bogus igmp line %d.\n"), lnr);
 		    return;
 		}
 	    } else {
-		if ( (num = sscanf( line, "%10c", device )) < 1 ) {
+		if ( (num = sscanf( line, "%15c", device )) < 1 ) {
 		    fprintf(stderr, _("warning, got bogus igmp line %d.\n"), lnr);
 		    return;
 		}
 	    }
-	    device[10] = '\0';
+
+	    offset = strrchr(device, ':');
+	    if(offset)
+		*offset = 0;
+
 	    return;
 	} else if ( line[0] == '\t' ) {
 	    if ( (num = sscanf(line, "\t%8[0-9A-Fa-f] %d", mcast_addr, &refcnt)) < 2 ) {
@@ -2037,7 +2037,7 @@ static int iface_info(void)
     if (flag_exp < 2) {
 	ife_short = 1;
 	if(!(count % 8))
-	    printf(_("Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
+	    printf(_("Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg\n"));
     }

     if (flag_int_name) {
diff --git a/lib/interface.c b/lib/interface.c
index 3bd999f..97f3db5 100644
--- a/lib/interface.c
+++ b/lib/interface.c
@@ -655,7 +655,7 @@ int do_if_print(struct interface *ife, void *cookie)
 
 void ife_print_short(struct interface *ptr)
 {
-    printf("%-8.8s ", ptr->name);
+    printf("%-15.15s ", ptr->name);
     printf("%5d ", ptr->mtu);
     /* If needed, display the interface statistics. */
     if (ptr->statistics_valid) {