]> The Tcpdump Group git mirrors - tcpdump/blobdiff - util.c
Update WinDump.dsp
[tcpdump] / util.c
diff --git a/util.c b/util.c
index 4304e519875d7499dfd101064406fa2d529f97ee..13c87225593cd391dee0a7bcba389a1126788c2e 100644 (file)
--- a/util.c
+++ b/util.c
@@ -19,6 +19,7 @@
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
+#define NETDISSECT_REWORKED
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -44,7 +45,8 @@
  * Return true if truncated.
  */
 int
-fn_print(register const u_char *s, register const u_char *ep)
+fn_print(netdissect_options *ndo,
+         register const u_char *s, register const u_char *ep)
 {
        register int ret;
        register u_char c;
@@ -58,14 +60,13 @@ fn_print(register const u_char *s, register const u_char *ep)
                }
                if (!ND_ISASCII(c)) {
                        c = ND_TOASCII(c);
-                       putchar('M');
-                       putchar('-');
+                       ND_PRINT((ndo, "M-"));
                }
                if (!ND_ISPRINT(c)) {
                        c ^= 0x40;      /* DEL to ?, others to alpha */
-                       putchar('^');
+                       ND_PRINT((ndo, "^"));
                }
-               putchar(c);
+               ND_PRINT((ndo, "%c", c));
        }
        return(ret);
 }
@@ -76,8 +77,8 @@ fn_print(register const u_char *s, register const u_char *ep)
  * Return true if truncated.
  */
 int
-fn_printn(register const u_char *s, register u_int n,
-         register const u_char *ep)
+fn_printn(netdissect_options *ndo,
+          register const u_char *s, register u_int n, register const u_char *ep)
 {
        register u_char c;
 
@@ -86,14 +87,13 @@ fn_printn(register const u_char *s, register u_int n,
                c = *s++;
                if (!ND_ISASCII(c)) {
                        c = ND_TOASCII(c);
-                       putchar('M');
-                       putchar('-');
+                       ND_PRINT((ndo, "M-"));
                }
                if (!ND_ISPRINT(c)) {
                        c ^= 0x40;      /* DEL to ?, others to alpha */
-                       putchar('^');
+                       ND_PRINT((ndo, "^"));
                }
-               putchar(c);
+               ND_PRINT((ndo, "%c", c));
        }
        return (n == 0) ? 0 : 1;
 }
@@ -104,8 +104,9 @@ fn_printn(register const u_char *s, register u_int n,
  * Return true if truncated.
  */
 int
-fn_printzp(register const u_char *s, register u_int n,
-         register const u_char *ep)
+fn_printzp(netdissect_options *ndo,
+           register const u_char *s, register u_int n,
+           register const u_char *ep)
 {
        register int ret;
        register u_char c;
@@ -120,14 +121,13 @@ fn_printzp(register const u_char *s, register u_int n,
                }
                if (!ND_ISASCII(c)) {
                        c = ND_TOASCII(c);
-                       putchar('M');
-                       putchar('-');
+                       ND_PRINT((ndo, "M-"));
                }
                if (!ND_ISPRINT(c)) {
                        c ^= 0x40;      /* DEL to ?, others to alpha */
-                       putchar('^');
+                       ND_PRINT((ndo, "^"));
                }
-               putchar(c);
+               ND_PRINT((ndo, "%c", c));
        }
        return (n == 0) ? 0 : ret;
 }
@@ -347,7 +347,7 @@ bittok2str_internal(register const struct tok *lp, register const char *fmt,
         }
 
         if (buflen != 0) { /* did we find anything */
-            /* yep, set the the trailing zero 2 bytes before to eliminate the last comma & whitespace */
+            /* yep, set the trailing zero 2 bytes before to eliminate the last comma & whitespace */
             buf[buflen-2] = '\0';
             return (buf);
         }
@@ -409,9 +409,9 @@ tok2strary_internal(register const char **lp, int n, register const char *fmt,
  */
 
 int
-mask2plen(u_int32_t mask)
+mask2plen(uint32_t mask)
 {
-       u_int32_t bitmasks[33] = {
+       uint32_t bitmasks[33] = {
                0x00000000,
                0x80000000, 0xc0000000, 0xe0000000, 0xf0000000,
                0xf8000000, 0xfc000000, 0xfe000000, 0xff000000,