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
4 #include <linux/if_packet.h>
10 #include "interface.h"
12 static char ifnames[16][16];
13 if (h->ifindex>0 && h->ifindex <= 16) {
14 if (ifnames[h->ifindex-1][0] == 0) {
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 */
24 + (isprint(ifr.ifr_name[0]) && isprint(ifr.ifr_name[1]))) {
25 memcpy(ifnames[h->ifindex-1], ifr.ifr_name, 16);
27 - sprintf(ifnames[h->ifindex-1], "if%2d ", h->ifindex);
28 + sprintf(ifnames[h->ifindex-1], "if%02d ", h->ifindex);
32 printf("%4s ", ifnames[h->ifindex-1]);
34 - printf("if%2d ", h->ifindex);
35 + printf("if%02d ", h->ifindex);
38 switch (h->pkt_type) {