From b1e31a7034244e07190152d72cd89b5365cf194b Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Tue, 30 Apr 2013 08:37:11 -0700 Subject: [PATCH] Fixed Remote Console to tolerate bare LF as a line terminator and enhanced the tmxr debug output for special characters --- sim_console.c | 3 +++ sim_tmxr.c | 19 +++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/sim_console.c b/sim_console.c index aa359d59..a151e64f 100644 --- a/sim_console.c +++ b/sim_console.c @@ -598,6 +598,9 @@ for (i=(was_stepping ? sim_rem_step_line : 0); --sim_rem_buf_ptr[i]; } break; + case '\n': + if (sim_rem_buf_ptr[i] == 0) + break; case '\r': tmxr_linemsg (lp, "\r\n"); if (sim_rem_buf_ptr[i]+1 >= sim_rem_buf_size[i]) { diff --git a/sim_tmxr.c b/sim_tmxr.c index 4d34b9b2..6c377301 100644 --- a/sim_tmxr.c +++ b/sim_tmxr.c @@ -3550,10 +3550,25 @@ if ((lp->mp->dptr) && (dbits & lp->mp->dptr->dctrl)) { for (i=0; i= 1) && (buf[i] <= 26)) { + tmxr_buf_debug_char ('^'); + tmxr_buf_debug_char ('A' + buf[i] - 1); + } + else { + char octal[8]; + + sprintf(octal, "\\%03o", (u_char)buf[i]); + tmxr_buf_debug_string (octal); + } + tmxr_buf_debug_char ('_'); + } break; } - if (buf[i] == tn_chars[j].value) { + if ((u_char)buf[i] == tn_chars[j].value) { tmxr_buf_debug_char ('_'); tmxr_buf_debug_string (tn_chars[j].name); tmxr_buf_debug_char ('_');