]> The Tcpdump Group git mirrors - tcpdump/commitdiff
NDOize print-ascii.c further
authorDenis Ovsienko <[email protected]>
Thu, 13 Mar 2014 07:06:15 +0000 (11:06 +0400)
committerDenis Ovsienko <[email protected]>
Thu, 13 Mar 2014 07:06:15 +0000 (11:06 +0400)
Introduce netdissect_options into hex_and_ascii_print_with_offset(),
hex_and_ascii_print() and related functions.

interface.h
netdissect.h
print-ascii.c
print-openflow-1.0.c
print-zeromq.c
tcpdump.c

index 63e6247766cc4637da1fe00b244e2d1687005465..242fb3973cbac9fb1e4abe33806ac5f4181e9c9e 100644 (file)
@@ -174,9 +174,6 @@ extern u_int16_t create_osi_cksum(const u_int8_t *, int, int);
 #include <pcap.h>
 
 extern void ascii_print(const u_char *, u_int);
-extern void hex_and_ascii_print_with_offset(const char *, const u_char *,
-       u_int, u_int);
-extern void hex_and_ascii_print(const char *, const u_char *, u_int);
 extern void telnet_print(const u_char *, u_int);
 extern int llc_print(const u_char *, u_int, u_int, const u_char *,
        const u_char *, u_short *);
index 9cc9b73e6360b52ff165e7352bf24f1e2df6b5e3..d1c994daa23885c2841ccbc2137270dd4fb156ff 100644 (file)
@@ -368,6 +368,9 @@ extern int print_unknown_data(netdissect_options *,const u_char *, const char *,
 extern void hex_print_with_offset(netdissect_options *, const char *ident, const u_char *cp,
                                  u_int, u_int);
 extern void hex_print(netdissect_options *,const char *ident, const u_char *cp,u_int);
+extern void hex_and_ascii_print_with_offset(netdissect_options *, const char *, const u_char *, u_int, u_int);
+extern void hex_and_ascii_print(netdissect_options *, const char *, const u_char *, u_int);
+
 extern int ah_print(netdissect_options *, register const u_char *);
 extern void beep_print(netdissect_options *, const u_char *, u_int);
 extern void dtp_print(netdissect_options *, const u_char *, u_int);
@@ -405,9 +408,6 @@ extern const u_char * ns_nprint (register const u_char *, register const u_char
 
 #if 0
 extern void ascii_print(netdissect_options *,u_int);
-extern void hex_and_ascii_print_with_offset(netdissect_options *,const char *,
-                                   u_int, u_int);
-extern void hex_and_ascii_print(netdissect_options *,const char *, u_int);
 extern void telnet_print(netdissect_options *,const u_char *, u_int);
 extern int llc_print(netdissect_options *,
                     const u_char *, u_int, u_int, const u_char *,
index 18d5d0fb312ec564816103581f0c5b55f2a6b084..55e0ae72589eca09f89dd974b51255ed7423e423 100644 (file)
@@ -85,7 +85,7 @@ ascii_print(register const u_char *cp, register u_int length)
 }
 
 void
-hex_and_ascii_print_with_offset(register const char *ident,
+hex_and_ascii_print_with_offset(netdissect_options *ndo, register const char *ident,
     register const u_char *cp, register u_int length, register u_int oset)
 {
        register u_int i;
@@ -108,9 +108,9 @@ hex_and_ascii_print_with_offset(register const char *ident,
                i++;
                if (i >= HEXDUMP_SHORTS_PER_LINE) {
                        *hsp = *asp = '\0';
-                       (void)printf("%s0x%04x: %-*s  %s",
+                       ND_PRINT((ndo, "%s0x%04x: %-*s  %s",
                            ident, oset, HEXDUMP_HEXSTUFF_PER_LINE,
-                           hexstuff, asciistuff);
+                           hexstuff, asciistuff));
                        i = 0; hsp = hexstuff; asp = asciistuff;
                        oset += HEXDUMP_BYTES_PER_LINE;
                }
@@ -125,17 +125,17 @@ hex_and_ascii_print_with_offset(register const char *ident,
        }
        if (i > 0) {
                *hsp = *asp = '\0';
-               (void)printf("%s0x%04x: %-*s  %s",
+               ND_PRINT((ndo, "%s0x%04x: %-*s  %s",
                     ident, oset, HEXDUMP_HEXSTUFF_PER_LINE,
-                    hexstuff, asciistuff);
+                    hexstuff, asciistuff));
        }
 }
 
 void
-hex_and_ascii_print(register const char *ident, register const u_char *cp,
-    register u_int length)
+hex_and_ascii_print(netdissect_options *ndo, register const char *ident,
+    register const u_char *cp, register u_int length)
 {
-       hex_and_ascii_print_with_offset(ident, cp, length, 0);
+       hex_and_ascii_print_with_offset(ndo, ident, cp, length, 0);
 }
 
 /*
index 73a9fd88e5e7483e5ce175b0e4a01300afc11453..51c37386115243d982a6b4f24db1d7466f3ccca0 100644 (file)
@@ -622,7 +622,7 @@ of10_data_print(const u_char *cp, const u_char *ep, const u_int len) {
        printf("\n\t data (%u octets)", len);
        TCHECK2(*cp, len);
        if (vflag >= 2)
-               hex_and_ascii_print("\n\t  ", cp, len);
+               hex_and_ascii_print(gndo, "\n\t  ", cp, len);
        return cp + len;
 
 trunc:
index c40ed3b899ede027e704361512a0e68fd453a85e..93650b31a05733550375876153e4751a9c11fdb9 100644 (file)
@@ -126,7 +126,7 @@ zmtp1_print_frame(const u_char *cp, const u_char *ep) {
                        body_len_printed = MIN(VBYTES + 1, body_len_printed);
                if (body_len_printed > 1) {
                        printf(", first %" PRIu64 " byte(s) of body:", body_len_printed - 1);
-                       hex_and_ascii_print("\n\t ", cp + header_len + 1, body_len_printed - 1);
+                       hex_and_ascii_print(gndo, "\n\t ", cp + header_len + 1, body_len_printed - 1);
                        printf("\n");
                }
        }
@@ -194,7 +194,7 @@ zmtp1_print_intermediate_part(const u_char *cp, const u_int len) {
                                len_printed = MIN(VBYTES, len_printed);
                        if (len_printed > 1) {
                                printf(", first %"PRIu64" byte(s):", len_printed);
-                               hex_and_ascii_print("\n\t ", cp, len_printed);
+                               hex_and_ascii_print(gndo, "\n\t ", cp, len_printed);
                                printf("\n");
                        }
                }
index 251c73a3dccb627c8c8991cf8dc5fbeff5cba54c..1acb2952e21769b1f521810b9b3f412415d3ca2e 100644 (file)
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -1995,7 +1995,7 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
                        /*
                         * Include the link-layer header.
                         */
-                       hex_and_ascii_print("\n\t", sp, h->caplen);
+                       hex_and_ascii_print(ndo, "\n\t", sp, h->caplen);
                } else {
                        /*
                         * Don't include the link-layer header - and if
@@ -2003,7 +2003,7 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
                         * print nothing.
                         */
                        if (h->caplen > hdrlen)
-                               hex_and_ascii_print("\n\t", sp + hdrlen,
+                               hex_and_ascii_print(ndo, "\n\t", sp + hdrlen,
                                    h->caplen - hdrlen);
                }
        } else if (ndo->ndo_xflag) {
@@ -2083,9 +2083,9 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
  * By default, print the specified data out in hex and ASCII.
  */
 static void
-ndo_default_print(netdissect_options *ndo _U_, const u_char *bp, u_int length)
+ndo_default_print(netdissect_options *ndo, const u_char *bp, u_int length)
 {
-       hex_and_ascii_print("\n\t", bp, length); /* pass on lf and identation string */
+       hex_and_ascii_print(ndo, "\n\t", bp, length); /* pass on lf and identation string */
 }
 
 void