diff --git a/src/syncterm/ripper.c b/src/syncterm/ripper.c index 056366919f92ca986c4bea03fcc3187f90de8eb8..1ec895bee6fc9c93c8b284f8e346429e7ee2798d 100644 --- a/src/syncterm/ripper.c +++ b/src/syncterm/ripper.c @@ -86,7 +86,7 @@ enum rip_state { // Back to normal state definitions -/*23*/, +/*18*/, RIP_STATE_CR // Got a CR , RIP_STATE_ESC // Got an ESC @@ -15604,7 +15604,10 @@ handle_rip_line(BYTE *buf, unsigned *blen, unsigned *pos, size_t *rip_start, uns remainder = *blen - *pos - 1; } else { - remove = 0; + if ((*blen > 0) && (rip.state == RIP_STATE_CR) && (buf[0] == '\n')) + remove = 1; + else + remove = 0; remainder = *blen; } if (ns == RIP_STATE_FLUSHING) {