From: Tormod Volden Date: Mon, 23 May 2016 21:20:28 +0000 (+0200) Subject: ttydw.c: Fix single-byte reception on virtual channels X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=5c3c1337a420697053cf22a4843e584e17c527b3;p=FUZIX.git ttydw.c: Fix single-byte reception on virtual channels This off-by-one caused incoming single bytes from the virtual channels to be written to the wrong tty, for example when entering an empty line in a shell. Signed-off-by: Tormod Volden --- diff --git a/Kernel/platform-coco3/ttydw.c b/Kernel/platform-coco3/ttydw.c index 4e6e9d93..8172f889 100644 --- a/Kernel/platform-coco3/ttydw.c +++ b/Kernel/platform-coco3/ttydw.c @@ -216,7 +216,7 @@ void dw_vpoll( ){ } /* VSER Channel single datum */ if( buf[0]<16 ){ - int minor=dw_minor( buf[0] ); + int minor=dw_minor( buf[0] - 1 ); tty_inproc( minor, buf[1] ); continue; } diff --git a/Kernel/platform-dragon-nx32/ttydw.c b/Kernel/platform-dragon-nx32/ttydw.c index 4e6e9d93..8172f889 100644 --- a/Kernel/platform-dragon-nx32/ttydw.c +++ b/Kernel/platform-dragon-nx32/ttydw.c @@ -216,7 +216,7 @@ void dw_vpoll( ){ } /* VSER Channel single datum */ if( buf[0]<16 ){ - int minor=dw_minor( buf[0] ); + int minor=dw_minor( buf[0] - 1 ); tty_inproc( minor, buf[1] ); continue; } diff --git a/Kernel/platform-multicomp09/ttydw.c b/Kernel/platform-multicomp09/ttydw.c index c0a74645..3cb89247 100644 --- a/Kernel/platform-multicomp09/ttydw.c +++ b/Kernel/platform-multicomp09/ttydw.c @@ -216,7 +216,7 @@ void dw_vpoll( ){ } /* VSER Channel single datum */ if( buf[0]<16 ){ - int minor=dw_minor( buf[0] ); + int minor=dw_minor( buf[0] - 1 ); tty_inproc( minor, buf[1] ); continue; }