aboutsummaryrefslogtreecommitdiffstats
path: root/net/tcpshow/files/patch-02
blob: 23e9084aa91e0792c4c07903c0cf802f97ccdc5e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
--- tcpshow.c.orig	Tue Nov 30 01:49:43 1999
+++ tcpshow.c	Tue Nov 30 01:56:10 1999
@@ -367,7 +367,7 @@
 #endif
 
 
-void main(int, char **);
+int main(int, char **);
 
 
 static boolean noBflag = FALSE;
@@ -1125,7 +1125,9 @@
 static char *icmpType (uint1 type) {
 
    char *descr;
+   static char unknowntype[80];
 
+   snprintf(unknowntype, 80, "%s (%d)", unknown, type);
 
    switch (type) {
     case ECHO_REPLY:  descr = "echo-reply";              break;
@@ -1143,7 +1145,7 @@
     case INFO_REPLY:  descr = "information-reply";       break;
     case MASK_REQ:    descr = "address-mask-request";    break;
     case MASK_REPLY:  descr = "address-mask-reply";      break;
-    default:          descr = unknown;                   break;
+    default:          descr = unknowntype;               break;
    }
 
    return descr;
@@ -1248,7 +1250,7 @@
 /*                                                                          */
 /****==========------------------------------------------------==========****/
 
-void main (int argc, char **argv) {
+int main (int argc, char **argv) {
 
    /* Command line options.                                                 */
    while (--argc > 0 && **++argv == '-')
@@ -1290,6 +1292,7 @@
    for ( ; ; ) if (!setjmp(jmpBuf)) showPkt(pkt);
 
    exit(0);
+   return 0;
 
 }
 
@@ -1336,7 +1339,7 @@
 	 name = number;
       }
    /* The crappy manpage doesn't say the port must be in net byte order.    */
-   elif (service = getservbyport((int)htons(port), proto))
+   elif ( (service = getservbyport((int)htons(port), proto)) )
       name = service->s_name;
    elif (!wantNumber)
       name = unknown;
@@ -1580,13 +1583,14 @@
    if (ppFlag) {
       (void)sscanf(p, "%s", time);
       etherType = ETHER_PROTO_IP;      /* tcpdump doesn't supply link type  */
-      if (!noLinkFlag)
+      if (!noLinkFlag) {
          if (terseFlag)
 	    printf("TIME:\t%s%s\n", time, deltaTime(&prevTime, time));
          else
 	    printf(
 	       "\tTimestamp:\t\t\t%s%s\n", time, deltaTime(&prevTime, time)
 	    );
+	}
       return getPkt();
    }
 
@@ -1598,7 +1602,7 @@
    (void)strcpy(eTo, etherAddr(eTo, 0));
    (void)strcpy(eToName, etherName(eTo, TRUE));
 
-   if (!noLinkFlag)
+   if (!noLinkFlag) {
       if (terseFlag) {
          printf("TIME:\t%s%s\n", time, deltaTime(&prevTime, time));
          printf(
@@ -1614,6 +1618,7 @@
          if (!noEtherNames) printf(" (%s)", etherName(eTo, FALSE));
          printf("\n\tEncapsulated Protocol:\t\t%s\n", etherProto(eType, 0));
       }
+   }
 
    return getPkt();
 
@@ -1826,7 +1831,7 @@
    }
    /* Note that if getPkt() returns here, then the line read isn't the      */
    /* start of a new packet, i.e. there's spurious data.                    */
-   if (p = getPkt()) {
+   if ( (p = getPkt()) ) {
       if (sFlag) printf("\t<*** Spurious data at end: \"%s\" ***>\n", p);
       nextPkt();
    }
@@ -1996,10 +2001,10 @@
 
    if (terseFlag) {
       printf(
-	 " TCP:\tport %s -> %s seq=%010lu", sPortName, dPortName, seq
+	 " TCP:\tport %s -> %s seq=%010lu", sPortName, dPortName, (u_long)seq
       );
-      if (trackFlag) printf(" (expect=%010lu)", expect);
-      printf(" ack=%010lu\n", ack);
+      if (trackFlag) printf(" (expect=%010lu)", (u_long)expect);
+      printf(" ack=%010lu\n", (u_long)ack);
       printf(
          "\thlen=%d (data=%u) UAPRSF=%s%s%s%s%s%s",
          hLen, dataLen,
@@ -2016,9 +2021,9 @@
       if (!noPortNames) printf(" (%s)", portName(sPort, "tcp", FALSE));
       printf("\n\tDestination Port:\t\t%d", dPort);
       if (!noPortNames) printf(" (%s)", portName(dPort, "tcp", FALSE));
-      printf("\n\tSequence Number:\t\t%010lu\n", seq);
-      if (trackFlag) printf("\tExpect peer ACK:\t\t%010lu\n", expect);
-      printf("\tAcknowledgement Number:\t\t%010lu\n", ack);
+      printf("\n\tSequence Number:\t\t%010lu\n", (u_long)seq);
+      if (trackFlag) printf("\tExpect peer ACK:\t\t%010lu\n", (u_long)expect);
+      printf("\tAcknowledgement Number:\t\t%010lu\n", (u_long)ack);
       printf("\tHeader Length:\t\t\t%d bytes (data=%u)\n", hLen, dataLen);
       printf(
          "\tFlags:%s%s%s%s%s%s\n%s%s%s%s%s%s\n",