summaryrefslogtreecommitdiff
path: root/ao-tools
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-03-24 15:29:32 -0700
committerKeith Packard <keithp@keithp.com>2013-05-07 20:07:52 -0700
commit0b6128d634c49e1790675ae8111e970b1af1f141 (patch)
tree8aaedf95606c654bb0fd99df5154f9ae5b77b6a6 /ao-tools
parent3cbec0292d5167bce5c23eeea95f7a2d13bccc79 (diff)
ao-tools/lib: Deal with binary USB data in debugging output
Dump non-ascii characters in hex format. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'ao-tools')
-rw-r--r--ao-tools/lib/cc-usb.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ao-tools/lib/cc-usb.c b/ao-tools/lib/cc-usb.c
index f8275243..485583f9 100644
--- a/ao-tools/lib/cc-usb.c
+++ b/ao-tools/lib/cc-usb.c
@@ -140,7 +140,10 @@ cc_usb_dbg(int indent, uint8_t *bytes, int len)
case '\n':
eol = 1;
default:
- ccdbg_debug(CC_DEBUG_BITBANG, "%c", c);
+ if (c < ' ' || c > '~')
+ ccdbg_debug(CC_DEBUG_BITBANG, "\\%02x", c);
+ else
+ ccdbg_debug(CC_DEBUG_BITBANG, "%c", c);
}
}
}
@@ -190,6 +193,7 @@ _cc_usb_sync(struct cc_usb *cc, int wait_for_input)
ret = read(cc->fd, cc->in_buf + cc->in_count,
CC_IN_BUF - cc->in_count);
if (ret > 0) {
+ int i;
cc_usb_dbg(24, cc->in_buf + cc->in_count, ret);
cc->in_count += ret;
if (cc->hex_count)