]> git.pld-linux.org Git - packages/tcpdump.git/blame - tcpdump-sparc64.patch
- release 2,
[packages/tcpdump.git] / tcpdump-sparc64.patch
CommitLineData
d1ed7138 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.025484 seconds and 4 git commands to generate.