From 26482336f2919d72935a8aacc42420aa89138cbd Mon Sep 17 00:00:00 2001 From: Marcus Brinkmann Date: Tue, 10 Sep 2002 18:00:34 +0000 Subject: 2002-09-10 Marcus Brinkmann * munge.c (input_character): Really toggle USER_OUTPUT_SUSP if VSTART == VSTOP. --- term/ChangeLog | 3 +++ term/munge.c | 10 +++++----- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'term') diff --git a/term/ChangeLog b/term/ChangeLog index 0f43ab21..a5c8aef3 100644 --- a/term/ChangeLog +++ b/term/ChangeLog @@ -1,5 +1,8 @@ 2002-09-10 Marcus Brinkmann + * munge.c (input_character): Really toggle USER_OUTPUT_SUSP if + VSTART == VSTOP. + * hurdio.c (hurdio_writer_loop): Desert the DTR on all errors, not only EIO. (hurdio_reader_loop): Likewise. diff --git a/term/munge.c b/term/munge.c index 32d87c98..74d82888 100644 --- a/term/munge.c +++ b/term/munge.c @@ -452,13 +452,13 @@ input_character (int c) { if (CCEQ (cc[VSTOP], c)) { - termflags |= USER_OUTPUT_SUSP; - (*bottom->suspend_physical_output) (); - - if (!(CCEQ(cc[VSTART], c))) /* toggle if VSTART == VSTOP */ - /* Alldone code always turns off USER_OUTPUT_SUSP. */ + if (CCEQ(cc[VSTART], c) && (termflags & USER_OUTPUT_SUSP)) + /* Toggle if VSTART == VSTOP. Alldone code always turns + off USER_OUTPUT_SUSP. */ goto alldone; + termflags |= USER_OUTPUT_SUSP; + (*bottom->suspend_physical_output) (); return flush; } if (CCEQ (cc[VSTART], c)) -- cgit v1.2.3