mirror of https://github.com/rfivet/uemacs.git
Temporary fix for WSL
This commit is contained in:
parent
e6921a8ed1
commit
679d8d098b
|
@ -7,7 +7,7 @@
|
|||
# if __NetBSD__
|
||||
# define BSD 1
|
||||
# define POSIX 1
|
||||
# elsif __linux__
|
||||
# elif __linux__
|
||||
# define USG 1
|
||||
# define SVR4 1 /* locks */
|
||||
# define POSIX 1
|
||||
|
|
20
posix.c
20
posix.c
|
@ -149,27 +149,28 @@ void ttflush(void)
|
|||
exit(15);
|
||||
}
|
||||
|
||||
/*
|
||||
* Read a character from the terminal, performing no editing and doing no echo
|
||||
* at all.
|
||||
* Very simple on CPM, because the system can do exactly what you want.
|
||||
|
||||
/* Read a character from the terminal, performing no editing and doing no
|
||||
echo at all.
|
||||
*/
|
||||
int ttgetc(void)
|
||||
{
|
||||
int ttgetc( void) {
|
||||
static char buffer[ 32] ;
|
||||
static int pending ;
|
||||
unicode_t c ;
|
||||
int count, bytes = 1, expected;
|
||||
|
||||
count = pending;
|
||||
int count = pending ;
|
||||
if( !count) {
|
||||
count = read( 0, buffer, sizeof( buffer)) ;
|
||||
if( count <= 0)
|
||||
return 0 ;
|
||||
|
||||
pending = count ;
|
||||
}
|
||||
|
||||
int bytes = 1 ;
|
||||
c = (unsigned char) buffer[ 0] ;
|
||||
#if 0 // temporary fix for wsl
|
||||
|
||||
if (c >= 32 && c < 128)
|
||||
goto done;
|
||||
|
||||
|
@ -186,7 +187,7 @@ int ttgetc(void)
|
|||
* delay for some *very* unusual utf8 character
|
||||
* input.
|
||||
*/
|
||||
expected = 2;
|
||||
int expected = 2;
|
||||
if ((c & 0xe0) == 0xe0)
|
||||
expected = 6;
|
||||
|
||||
|
@ -220,6 +221,7 @@ int ttgetc(void)
|
|||
bytes = utf8_to_unicode(buffer, 0, pending, &c);
|
||||
|
||||
done:
|
||||
#endif
|
||||
pending -= bytes ;
|
||||
memmove( buffer, buffer + bytes, pending) ;
|
||||
return c ;
|
||||
|
|
Loading…
Reference in New Issue