From 06c878b96a1a9b47811c02cbe4e4ab71fed90c9d Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sun, 27 Sep 2020 09:38:10 -0700 Subject: [PATCH] TMXR: Properly report SCPE_STALL when transmit buffer is full --- sim_tmxr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sim_tmxr.c b/sim_tmxr.c index cbf4290d..4ccbdb7c 100644 --- a/sim_tmxr.c +++ b/sim_tmxr.c @@ -2318,7 +2318,8 @@ tmxr_debug_trace_line (lp, "tmxr_putc_ln()"); if ((lp->xmte == 0) && (TXBUF_AVAIL(lp) > 1) && ((lp->txbps == 0) || (lp->txnexttime <= sim_gtime ()))) lp->xmte = 1; /* enable line transmit */ -if ((lp->txbfd && !lp->notelnet) || (TXBUF_AVAIL(lp) > 1)) {/* room for char (+ IAC)? */ +if ((lp->conn && (TXBUF_AVAIL(lp) > 1)) || /* connected and room for char (+ IAC)? OR */ + (!lp->conn && !lp->notelnet && lp->txbfd)) { /* not connected and buffered ? */ if ((TN_IAC == (u_char) chr) && (!lp->notelnet)) /* char == IAC in telnet session? */ TXBUF_CHAR (lp, TN_IAC); /* stuff extra IAC char */ TXBUF_CHAR (lp, chr); /* buffer char & adv pointer */