From fc965a48696dcde942ef26d211f11852b790b89d Mon Sep 17 00:00:00 2001 From: David Lawrence Ramsey Date: Fri, 15 Oct 2004 01:51:36 +0000 Subject: [PATCH] make the UTF-8 character reading support work in more instances git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1991 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 4 ++-- src/winio.c | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index d772a97b..fc4eb2a8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -71,8 +71,8 @@ CVS code - suggested by Bill Soudan) - Remove the -D/--dos and -M/--mac command line options, as they aren't much use with the new file format autodetection. (DLR) - - Add support for reading in UTF-8 sequences to some of the - low-level input routines. Changes to get_kbinput() and + - Add support for reading in UTF-8 sequences to the low-level + input routines. Changes to get_kbinput() and get_translated_kbinput(). (DLR) - files.c: do_insertfile() diff --git a/src/winio.c b/src/winio.c index 226a7897..50ba44b5 100644 --- a/src/winio.c +++ b/src/winio.c @@ -376,12 +376,6 @@ int get_translated_kbinput(int kbinput, seq_type *seq break; #endif default: - /* A character with its high bit set: UTF-8 - * sequence mode. Set seq to UTF8_SEQ. */ - if ((-128 <= kbinput && kbinput < 0) || - (127 < kbinput && kbinput <= 255)) - *seq = UTF8_SEQ; - retval = kbinput; break; } @@ -461,6 +455,11 @@ int get_translated_kbinput(int kbinput, seq_type *seq } } + /* A character other than ERR with its high bit set: UTF-8 sequence + * mode. Set seq to UTF8_SEQ. */ + if (retval != ERR && 127 < retval && retval <= 255) + *seq = UTF8_SEQ; + #ifdef DEBUG fprintf(stderr, "get_translated_kbinput(): kbinput = %d, seq = %d, escapes = %d, ascii_digits = %lu, retval = %d\n", kbinput, (int)*seq, escapes, (unsigned long)ascii_digits, retval); #endif