]> git.pld-linux.org Git - packages/tcpdump.git/blob - tcpdump-sparc64.patch
- release 2,
[packages/tcpdump.git] / tcpdump-sparc64.patch
1 --- tcpdump-3.4/print-ether.c.jbj       Tue Aug  3 19:45:06 1999
2 +++ tcpdump-3.4/print-ether.c   Wed Aug  4 09:08:36 1999
3 @@ -54,6 +54,7 @@
4  #include <linux/if_packet.h>
5  
6  #include <stdio.h>
7 +#include <ctype.h>
8  #include <pcap.h>
9  
10  #include "interface.h"
11 @@ -103,20 +104,23 @@
12                 static char ifnames[16][16];
13                 if (h->ifindex>0 && h->ifindex <= 16) {
14                         if (ifnames[h->ifindex-1][0] == 0) {
15 -                               int tmp_fd;
16 +                               int tmp_fd, err;
17                                 struct ifreq ifr;
18                                 ifr.ifr_ifindex = h->ifindex;
19                                 tmp_fd = socket(AF_INET, SOCK_DGRAM, 0);
20 -                               if (ioctl(tmp_fd, SIOCGIFNAME, (char*)&ifr) == 0) {
21 +                               err = ioctl(tmp_fd, SIOCGIFNAME, (char*)&ifr);
22 +                       /* XXX SIOCGIFNAME fubar on sparc64 2.2.10-3 */
23 +                               if (err == 0 &&
24 +                                   (isprint(ifr.ifr_name[0]) && isprint(ifr.ifr_name[1]))) {
25                                         memcpy(ifnames[h->ifindex-1], ifr.ifr_name, 16);
26                                 } else {
27 -                                       sprintf(ifnames[h->ifindex-1], "if%2d ", h->ifindex);
28 +                                       sprintf(ifnames[h->ifindex-1], "if%02d ", h->ifindex);
29                                 }
30                                 close(tmp_fd);
31                         }
32                         printf("%4s ", ifnames[h->ifindex-1]);
33                 } else
34 -                       printf("if%2d ", h->ifindex);
35 +                       printf("if%02d ", h->ifindex);
36         }
37  
38         switch (h->pkt_type) {
This page took 0.029778 seconds and 3 git commands to generate.