1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Bug#23097 mysql can't insert korean on mysql prompt.

Problem: libedit is a very pure-ASCII oriented library,
and it is not aware of extended (0x80..0xFF) or even multi-byte
characters. It considered such characters as non-printable
and didn't allow to input them.
Fix: make libedit think that all bytes >= 0x80 are printable.


cmd-line-utils/libedit/el.h:
  Defining macro, a locale's isprint() replacement.
  We'll consider all 8bit values as printable characters.
cmd-line-utils/libedit/key.c:
  Changing isprint() to el_isprint().
cmd-line-utils/libedit/map.c:
  Changing isprint() to el_isprint().
cmd-line-utils/libedit/read.c:
  Changing isprint() to el_isprint().
cmd-line-utils/libedit/refresh.c:
  Changing isprint() to el_isprint().
This commit is contained in:
unknown
2008-03-04 16:13:08 +04:00
parent 197b41196d
commit 8e4a3fcbc9
5 changed files with 9 additions and 7 deletions

View File

@@ -508,7 +508,7 @@ el_gets(EditLine *el, int *nread)
el->el_chared.c_redo.pos < el->el_chared.c_redo.lim) {
if (cmdnum == VI_DELETE_PREV_CHAR &&
el->el_chared.c_redo.pos != el->el_chared.c_redo.buf
&& isprint((unsigned char)el->el_chared.c_redo.pos[-1]))
&& el_isprint((unsigned char)el->el_chared.c_redo.pos[-1]))
el->el_chared.c_redo.pos--;
else
*el->el_chared.c_redo.pos++ = ch;