]> The Tcpdump Group git mirrors - tcpdump/blobdiff - util.c
ignore pcap files which are generated from .puu files.
[tcpdump] / util.c
diff --git a/util.c b/util.c
index 81f456d9e93b6b730063b271bd70f0f07e5b9962..7326a62e9354621502f484ba7b66c74484f90847 100644 (file)
--- a/util.c
+++ b/util.c
@@ -21,7 +21,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-    "@(#) $Header: /tcpdump/master/tcpdump/util.c,v 1.83 2003-02-08 19:32:00 guy Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/util.c,v 1.87 2003-10-02 13:16:14 hannes Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -85,15 +85,10 @@ int
 fn_printn(register const u_char *s, register u_int n,
          register const u_char *ep)
 {
-       register int ret;
        register u_char c;
 
-       ret = 1;                        /* assume truncated */
-       while (ep == NULL || s < ep) {
-               if (n-- <= 0) {
-                       ret = 0;
-                       break;
-               }
+       while (n > 0 && (ep == NULL || s < ep)) {
+               n--;
                c = *s++;
                if (!isascii(c)) {
                        c = toascii(c);
@@ -106,7 +101,7 @@ fn_printn(register const u_char *s, register u_int n,
                }
                putchar(c);
        }
-       return(ret);
+       return (n == 0) ? 0 : 1;
 }
 
 /*
@@ -154,12 +149,14 @@ ts_print(register const struct timeval *tvp)
        case -3: /* Default + Date*/
                s = (tvp->tv_sec + thiszone) % 86400;
                Time = (tvp->tv_sec + thiszone) - s;
-               tm  = gmtime (&Time);
-               (void)printf("%02d/%02d/%04d %02d:%02d:%02d.%06u ",
-                            tm->tm_mon+1, tm->tm_mday,
-                            tm->tm_year+1900,
-                            s / 3600, (s % 3600) / 60,
-                            s % 60, (unsigned)tvp->tv_usec);
+               tm = gmtime (&Time);
+               if (!tm)
+                       printf("Date fail  ");
+               else
+                       printf("%04d-%02d-%02d ",
+                                  tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday);
+               printf("%02d:%02d:%02d.%06u ",
+                          s / 3600, (s % 3600) / 60, s % 60, (unsigned)tvp->tv_usec);
                break;
        }
 }
@@ -220,7 +217,7 @@ print_unknown_data(const u_char *cp,const char *lf,int len)
                printf(" ");
            if (i/16!=(i+1)/16) {
                if (i<(len-1))
-                   printf("%s0x%04x: ",lf,i);
+                   printf("%s0x%04x: ",lf,i+1);
            }
        }
        return(1); /* everything is ok */
@@ -331,15 +328,15 @@ mask2plen (u_int32_t mask)
                0xffffff80, 0xffffffc0, 0xffffffe0, 0xfffffff0,
                0xfffffff8, 0xfffffffc, 0xfffffffe, 0xffffffff
        };
-       int prefix_len = 33;
+       int prefix_len = 32;
 
-        /* lets see if we can transform the mask into a prefixlen */
-        while (prefix_len >= 0) {
-            if (bitmasks[prefix_len] == mask)
-                break;
-            prefix_len--;
-        }
-        return (prefix_len);
+       /* let's see if we can transform the mask into a prefixlen */
+       while (prefix_len >= 0) {
+               if (bitmasks[prefix_len] == mask)
+                       break;
+               prefix_len--;
+       }
+       return (prefix_len);
 }
 
 /* VARARGS */