On 2012/07/10 14:15, Mike Small wrote:
> Stuart Henderson <[email protected]> writes:
>
> > +/* dump the text from the buffer */
> > +void
> > +default_print_ascii(const u_char *cp, unsigned int length, unsigned int
> > offset)
> > +{
> > + int c, i;
> > +
> > + printf("\n");
> > + for (i = 0; i < length; i++) {
> > + c = cp[i];
> > + c = isprint(c) || isspace(c) ? c : '.';
> > + putchar(c);
> > + }
> > +}
> > +
>
> Is not using the offset argument intentional?
Too much copy and paste. However it's not really used in
default_print_hexl either.
Index: tcpdump.c
===================================================================
RCS file: /cvs/src/usr.sbin/tcpdump/tcpdump.c,v
retrieving revision 1.64
diff -u -p -r1.64 tcpdump.c
--- tcpdump.c 10 Jul 2012 18:07:37 -0000 1.64
+++ tcpdump.c 10 Jul 2012 18:37:39 -0000
@@ -561,7 +561,7 @@ gotchld(int signo)
/* dump the buffer in `emacs-hexl' style */
void
-default_print_hexl(const u_char *cp, unsigned int length, unsigned int offset)
+default_print_hexl(const u_char *cp, unsigned int length)
{
unsigned int i, j, jm;
int c;
@@ -569,8 +569,7 @@ default_print_hexl(const u_char *cp, uns
printf("\n");
for (i = 0; i < length; i += 0x10) {
- snprintf(ln, sizeof(ln), " %04x: ",
- (unsigned int)(i + offset));
+ snprintf(ln, sizeof(ln), " %04x: ", (unsigned int)i);
jm = length - i;
jm = jm > 16 ? 16 : jm;
@@ -605,7 +604,7 @@ default_print_hexl(const u_char *cp, uns
/* dump the text from the buffer */
void
-default_print_ascii(const u_char *cp, unsigned int length, unsigned int offset)
+default_print_ascii(const u_char *cp, unsigned int length)
{
int c, i;
@@ -626,10 +625,10 @@ default_print_unaligned(register const u
if (Xflag) {
/* dump the buffer in `emacs-hexl' style */
- default_print_hexl(cp, length, 0);
+ default_print_hexl(cp, length);
} else if (Aflag) {
/* dump the text in the buffer */
- default_print_ascii(cp, length, 0);
+ default_print_ascii(cp, length);
} else {
/* dump the buffer in old tcpdump style */
nshorts = (u_int) length / sizeof(u_short);
@@ -657,10 +656,10 @@ default_print(register const u_char *bp,
if (Xflag) {
/* dump the buffer in `emacs-hexl' style */
- default_print_hexl(bp, length, 0);
+ default_print_hexl(bp, length);
} else if (Aflag) {
/* dump the text in the buffer */
- default_print_ascii(bp, length, 0);
+ default_print_ascii(bp, length);
} else {
/* dump the buffer in old tcpdump style */
if ((long)bp & 1) {