There isn't a "default_print_unaligned" routine, so there's no need for

an "ndo_default_print_unaligned" member of the "netdissect_options"
structure.

There is, however, a need for an "ndo_default_print" routine, which
takes a "netdissect_options *" as its first argument, to initialize the
"ndo_default_print" member of that structure, as "ND_DEFAULTPRINT()"
uses it.
This commit is contained in:
guy 2004-12-23 10:43:12 +00:00
parent 262a263f75
commit d54f16a20d
3 changed files with 13 additions and 10 deletions

View File

@ -18,7 +18,7 @@
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.237 2004-11-07 22:05:20 guy Exp $ (LBL)
* @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.238 2004-12-23 10:43:13 guy Exp $ (LBL)
*/
#ifndef tcpdump_interface_h
@ -184,7 +184,6 @@ extern void beep_print(const u_char *, u_int);
extern void cnfp_print(const u_char *, const u_char *);
extern void decnet_print(const u_char *, u_int, u_int);
extern void default_print(const u_char *, u_int);
extern void default_print_unaligned(const u_char *, u_int);
extern void dvmrp_print(const u_char *, u_int);
extern void egp_print(const u_char *);
extern u_int enc_if_print(const struct pcap_pkthdr *, const u_char *);

View File

@ -21,7 +21,7 @@
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* @(#) $Header: /tcpdump/master/tcpdump/netdissect.h,v 1.12 2004-11-07 22:05:20 guy Exp $ (LBL)
* @(#) $Header: /tcpdump/master/tcpdump/netdissect.h,v 1.13 2004-12-23 10:43:12 guy Exp $ (LBL)
*/
#ifndef netdissect_h
@ -137,8 +137,6 @@ struct netdissect_options {
/* pointer to void function to output stuff */
void (*ndo_default_print)(netdissect_options *,
register const u_char *bp, register u_int length);
void (*ndo_default_print_unaligned)(netdissect_options *,
register const u_char *bp, register u_int length);
void (*ndo_info)(netdissect_options *, int verbose);
int (*ndo_printf)(netdissect_options *,
@ -284,8 +282,6 @@ extern void cnfp_print(netdissect_options *,const u_char *cp,
extern void decnet_print(netdissect_options *,const u_char *,
u_int, u_int);
extern void default_print(netdissect_options *,const u_char *, u_int);
extern void default_print_unaligned(netdissect_options *,const u_char *,
u_int);
extern void dvmrp_print(netdissect_options *,const u_char *, u_int);
extern void egp_print(netdissect_options *,const u_char *, u_int,
const u_char *);

View File

@ -30,7 +30,7 @@ static const char copyright[] _U_ =
"@(#) Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000\n\
The Regents of the University of California. All rights reserved.\n";
static const char rcsid[] _U_ =
"@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.250 2004-11-07 22:05:20 guy Exp $ (LBL)";
"@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.251 2004-12-23 10:43:12 guy Exp $ (LBL)";
#endif
/*
@ -106,6 +106,7 @@ static void usage(void) __attribute__((noreturn));
static void show_dlts_and_exit(pcap_t *pd) __attribute__((noreturn));
static void print_packet(u_char *, const struct pcap_pkthdr *, const u_char *);
static void ndo_default_print(netdissect_options *, const u_char *, u_int);
static void dump_packet_and_trunc(u_char *, const struct pcap_pkthdr *, const u_char *);
static void dump_packet(u_char *, const struct pcap_pkthdr *, const u_char *);
static void droproot(const char *, const char *);
@ -431,6 +432,7 @@ main(int argc, char **argv)
gndo->ndo_Oflag=1;
gndo->ndo_Rflag=1;
gndo->ndo_dlt=-1;
gndo->ndo_default_print=ndo_default_print;
gndo->ndo_printf=tcpdump_printf;
gndo->ndo_error=ndo_error;
gndo->ndo_warning=ndo_warning;
@ -1272,12 +1274,18 @@ print_packet(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
/*
* By default, print the specified data out in hex.
*/
void
default_print(register const u_char *bp, register u_int length)
static void
ndo_default_print(netdissect_options *ndo _U_, const u_char *bp, u_int length)
{
ascii_print("\n\t", bp, length); /* pass on lf and identation string */
}
void
default_print(const u_char *bp, u_int length)
{
ndo_default_print(gndo, bp, length);
}
#ifdef SIGINFO
RETSIGTYPE requestinfo(int signo _U_)
{