On August 10, 2014 11:17:59 PM CEST, Vadim Zhukov <persg...@gmail.com> wrote: >This changes the way ifconfig(8) to print lines like 'crazy "nwid', >i.e., containing double quotes inside the data being output. >At the present, such lines will be printed in the following way: > >"crazy "nwid" > >And this makes everything that tries to parse such lines go crazy >in their turn. I propose to force unambigious hexadecimal output >in this case. > >Objections/okays?
I'm all for this, but I've been voted down on a similar suggestion before. Maybe now's the time. /Alexander >-- >WBR, > Vadim Zhukov > > >Index: ifconfig.c >=================================================================== >RCS file: /cvs/src/sbin/ifconfig/ifconfig.c,v >retrieving revision 1.287 >diff -u -p -r1.287 ifconfig.c >--- ifconfig.c 12 Jul 2014 19:58:17 -0000 1.287 >+++ ifconfig.c 10 Aug 2014 21:11:03 -0000 >@@ -1499,8 +1499,8 @@ print_string(const u_int8_t *buf, int le > > if (len < 2 || buf[0] != '0' || tolower(buf[1]) != 'x') { > for (; i < len; i++) { >- /* Only print 7-bit ASCII keys */ >- if (buf[i] & 0x80 || !isprint(buf[i])) >+ /* Only print 7-bit ASCII keys, excluding double quote >*/ >+ if (buf[i] & 0x80 || !isprint(buf[i]) || buf[i] == '"') > break; > if (isspace(buf[i])) > hasspc++;