From b83f0e229097626fa8e667486c48d7a3139d2e4a Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Tue, 22 Feb 2005 13:12:35 +0000 Subject: Andrej: 20838: get ZLE_UNICODE_SUPPORT basically working --- Src/Zle/zle_main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'Src/Zle/zle_main.c') diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c index 1f7b7cbfa..f0e34a28a 100644 --- a/Src/Zle/zle_main.c +++ b/Src/Zle/zle_main.c @@ -748,10 +748,11 @@ getfullchar(int keytmout) mod_export ZLE_INT_T getrestchar(int inchar) { - char cnull = '\0'; + /* char cnull = '\0'; */ char buf[MB_CUR_MAX], *ptr; wchar_t outchar; int ret; + mbstate_t ps; /* * We are guaranteed to set a valid wide last character, @@ -764,7 +765,8 @@ getrestchar(int inchar) return lastchar_wide = WEOF; /* reset shift state by converting null */ - mbrtowc(&outchar, &cnull, 1, &ps); + /* mbrtowc(&outchar, &cnull, 1, &ps); */ + memset (&ps, '\0', sizeof (ps)); ptr = buf; *ptr++ = inchar; @@ -785,7 +787,7 @@ getrestchar(int inchar) return lastchar_wide = WEOF; *ptr++ = inchar; } - return lastchar_wide = (wint_t)outchar; + return lastchar_wide = (ZLE_INT_T)outchar; } /**/ #endif -- cgit 1.4.1