From 6608b62b01953b8a263ffda65802c1bc9052c06c Mon Sep 17 00:00:00 2001 From: Michael Richardson Date: Sat, 10 May 2014 17:16:07 -0400 Subject: [PATCH] tunslip6: make printing of sensible strings from mote more reliable --- tools/tunslip6.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/tools/tunslip6.c b/tools/tunslip6.c index 861868c84..b4390eacf 100644 --- a/tools/tunslip6.c +++ b/tools/tunslip6.c @@ -238,13 +238,21 @@ serial_to_tun(FILE *inslip, int outfd) slip_send(slipfd, SLIP_END); } #define DEBUG_LINE_MARKER '\r' - } else if(uip.inbuf[0] == DEBUG_LINE_MARKER) { - fwrite(uip.inbuf + 1, inbufptr - 1, 1, stdout); - } else if(is_sensible_string(uip.inbuf, inbufptr)) { - if(verbose==1) { /* strings already echoed below for verbose>1 */ - if (timestamp) stamptime(); - fwrite(uip.inbuf, inbufptr, 1, stdout); - } + if(uip.inbuf[0] == DEBUG_LINE_MARKER || + is_sensible_string(uip.inbuf, inbufptr)) { + unsigned char *out = uip.inbuf; + unsigned int len = inbufptr; + if(uip.inbuf[0] == DEBUG_LINE_MARKER) { + out++; + len--; + } + fprintf(stderr, "\n***"); + fwrite(out, len, 1, stderr); + fprintf(stderr, "***\n"); + } else { + fprintf(stderr, + "serial_to_tun: drop packet len=%d\n", inbufptr); + } } else { if(verbose>2) { if (timestamp) stamptime();