mirror of
https://github.com/tio/tio.git
synced 2026-05-01 23:07:58 +02:00
Newline: handle booth NL and CR
Flag ONLCRNL expects code \n after press Enter, but on some systems \r is send instead.
This commit is contained in:
parent
2223662ffd
commit
18c2f7847e
1 changed files with 19 additions and 17 deletions
36
src/tty.c
36
src/tty.c
|
|
@ -698,30 +698,32 @@ int tty_connect(void)
|
||||||
output_char = '\n';
|
output_char = '\n';
|
||||||
|
|
||||||
/* Map newline character */
|
/* Map newline character */
|
||||||
if ((output_char == '\n') && (map_o_nl_crnl)) {
|
if ((output_char == '\n' || output_char == '\r') && (map_o_nl_crnl)) {
|
||||||
char r = '\r';
|
const char *crlf = "\r\n";
|
||||||
|
|
||||||
optional_local_echo(r);
|
optional_local_echo(crlf[0]);
|
||||||
status = write(fd, &r, 1);
|
optional_local_echo(crlf[1]);
|
||||||
|
status = write(fd, crlf, 2);
|
||||||
if (status < 0)
|
if (status < 0)
|
||||||
warning_printf("Could not write to tty device");
|
warning_printf("Could not write to tty device");
|
||||||
|
|
||||||
|
tx_total += 2;
|
||||||
|
delay(option.output_delay);
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
/* Send output to tty device */
|
||||||
|
optional_local_echo(output_char);
|
||||||
|
status = write(fd, &output_char, 1);
|
||||||
|
if (status < 0)
|
||||||
|
warning_printf("Could not write to tty device");
|
||||||
|
fsync(fd);
|
||||||
|
|
||||||
|
/* Update transmit statistics */
|
||||||
tx_total++;
|
tx_total++;
|
||||||
|
|
||||||
|
/* Insert output delay */
|
||||||
delay(option.output_delay);
|
delay(option.output_delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Send output to tty device */
|
|
||||||
optional_local_echo(output_char);
|
|
||||||
status = write(fd, &output_char, 1);
|
|
||||||
if (status < 0)
|
|
||||||
warning_printf("Could not write to tty device");
|
|
||||||
fsync(fd);
|
|
||||||
|
|
||||||
/* Update transmit statistics */
|
|
||||||
tx_total++;
|
|
||||||
|
|
||||||
/* Insert output delay */
|
|
||||||
delay(option.output_delay);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Save previous key */
|
/* Save previous key */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue