blob: 6ca528074975e0f1488e1250d7523cb913ac0fe2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
--- qemacs-0.3.1/tty.c 2003-04-22 00:01:42.000000000 +0200
+++ qemacs-0.3.1-tty_utf8/tty.c 2004-03-14 17:38:58.000000000 +0100
@@ -53,7 +53,6 @@
/* input handling */
enum InputState input_state;
int input_param;
- int utf8_state;
int utf8_index;
unsigned char buf[10];
} TTYState;
@@ -211,15 +210,20 @@
/* charset handling */
if (s->charset == &charset_utf8) {
- if (ts->utf8_state == 0) {
+
+ /* Make sure utf8 input works correctly 20040314 <damm@opensource.se> */
+
+ ts->utf8_index++;
+
+ if (utf8_length[ts->buf[0]] == ts->utf8_index) {;
const char *p;
p = ts->buf;
ch = utf8_decode(&p);
- } else {
- ts->utf8_state = utf8_length[ts->buf[0]] - 1;
- ts->utf8_index = 0;
- return;
- }
+ ts->utf8_index = 0;
+ }
+ else {
+ return;
+ }
} else {
ch = ts->buf[0];
}
|