Vitaliy Makkoveev <m...@openbsd.org> writes: > Hi. > > For me `ch' is unwanted here. > > Index: usr.sbin/tcpdump/util.c > =================================================================== > RCS file: /cvs/src/usr.sbin/tcpdump/util.c,v > retrieving revision 1.30 > diff -u -p -r1.30 util.c > --- usr.sbin/tcpdump/util.c 24 Jan 2020 22:46:37 -0000 1.30 > +++ usr.sbin/tcpdump/util.c 29 Nov 2020 22:56:23 -0000 > @@ -303,13 +303,11 @@ safeputs(const char *s) > void > safeputchar(int c) > { > - unsigned char ch; > - > - ch = (unsigned char)(c & 0xff); > + c &= 0xff; > if (c < 0x80 && isprint(c)) > - printf("%c", c & 0xff); > + printf("%c", c);
In the name of bike-shedding this should be a putchar, then OK gnezdo@ > else > - printf("\\%03o", c & 0xff); > + printf("\\%03o", c); > } > > /* > > On Sun, Nov 29, 2020 at 10:29:46PM +0100, Martin Vahlensieck wrote: >> Hi >> >> I think this is the way it was meant. >> >> Best, >> >> Martin >> >> Index: util.c >> =================================================================== >> RCS file: /cvs/src/usr.sbin/tcpdump/util.c,v >> retrieving revision 1.30 >> diff -u -p -r1.30 util.c >> --- util.c 24 Jan 2020 22:46:37 -0000 1.30 >> +++ util.c 29 Nov 2020 21:23:37 -0000 >> @@ -306,7 +306,7 @@ safeputchar(int c) >> unsigned char ch; >> >> ch = (unsigned char)(c & 0xff); >> - if (c < 0x80 && isprint(c)) >> + if (ch < 0x80 && isprint(ch)) >> printf("%c", c & 0xff); >> else >> printf("\\%03o", c & 0xff); >>