From 5c3c1337a420697053cf22a4843e584e17c527b3 Mon Sep 17 00:00:00 2001 From: Tormod Volden Date: Mon, 23 May 2016 23:20:28 +0200 Subject: [PATCH] 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 --- Kernel/platform-coco3/ttydw.c | 2 +- Kernel/platform-dragon-nx32/ttydw.c | 2 +- Kernel/platform-multicomp09/ttydw.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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; } -- 2.34.1