FreeCalypso > hg > freecalypso-tools
diff rvinterf/lowlevel/format.c @ 927:4e243402f453
rvinterf/lowlevel: use libprint for backslash-escape output
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 23 May 2023 03:59:42 +0000 |
parents | 85d144f9fe56 |
children | 65953c172f24 |
line wrap: on
line diff
--- a/rvinterf/lowlevel/format.c Tue May 23 03:47:46 2023 +0000 +++ b/rvinterf/lowlevel/format.c Tue May 23 03:59:42 2023 +0000 @@ -19,7 +19,7 @@ void print_rv_trace() { - int i, c; + int i; char *dp; dp = fmtbuf; @@ -33,33 +33,7 @@ /* severity level */ sprintf(dp, " %d ", rxpkt[5]); dp = index(dp, '\0'); - for (i = 6; i < rxpkt_len; i++) { - c = rxpkt[i]; - switch (c) { - case '\\': - *dp++ = '\\'; - *dp++ = '\\'; - continue; - case '\r': - *dp++ = '\\'; - *dp++ = 'r'; - continue; - case '\n': - *dp++ = '\\'; - *dp++ = 'n'; - continue; - } - if (c >= ' ' && c <= '~') - *dp++ = c; - else if (c <= 7 && (i+1 == rxpkt_len || !isdigit(rxpkt[i+1]))) { - sprintf(dp, "\\%d", c); - dp += 2; - } else { - sprintf(dp, "\\x%02X", c); - dp += 4; - } - } - *dp = '\0'; + safe_print_trace(rxpkt + 6, rxpkt_len - 6, dp); output_line(fmtbuf); }