On Sat, Jul 11, 2015 at 10:45:44PM +0200, Christian Weisgerber wrote:
> I was looking at some SIP traffic (urgh) with tcpdump -A | less and
> wondered why ^K and ^L were considered printable characters.  Let's
> tighten this a bit.  Equivalent to what tcpdump.org has.
> 
> OK?
> 
> Index: tcpdump.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/tcpdump/tcpdump.c,v
> retrieving revision 1.70
> diff -u -p -r1.70 tcpdump.c
> --- tcpdump.c 18 Apr 2015 18:28:38 -0000      1.70
> +++ tcpdump.c 11 Jul 2015 20:35:11 -0000
> @@ -603,8 +603,10 @@ default_print_ascii(const u_char *cp, un
>       printf("\n");
>       for (i = 0; i < length; i++) {
>               c = cp[i];
> -             c = isprint(c) || isspace(c) ? c : '.';
> -             putchar(c);
> +             if (isprint(c) || c == '\t' || c == '\n' || c == '\r')

does printing '\r' will allow overriding previously printed char on line ?

$ echo 'bad thing\rgood thing'
good thing

> +                     putchar(c);
> +             else
> +                     putchar('.');
>       }
>  }
>  

-- 
Sebastien Marie

Reply via email to