summaryrefslogtreecommitdiff
path: root/cmd-line-utils/libedit/el.h
diff options
context:
space:
mode:
authorunknown <bar@mysql.com/bar.myoffice.izhnet.ru>2008-03-04 16:13:08 +0400
committerunknown <bar@mysql.com/bar.myoffice.izhnet.ru>2008-03-04 16:13:08 +0400
commit8e4a3fcbc996e41b4d805a926479bfacf13a99dd (patch)
tree22b470d8b1c6d8408233c658f3bb0ed75048b48b /cmd-line-utils/libedit/el.h
parent197b41196dcf861db87dac40996bec5ecf191b95 (diff)
downloadmariadb-git-8e4a3fcbc996e41b4d805a926479bfacf13a99dd.tar.gz
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().
Diffstat (limited to 'cmd-line-utils/libedit/el.h')
-rw-r--r--cmd-line-utils/libedit/el.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/cmd-line-utils/libedit/el.h b/cmd-line-utils/libedit/el.h
index c4b6cff2186..d9379d7c8aa 100644
--- a/cmd-line-utils/libedit/el.h
+++ b/cmd-line-utils/libedit/el.h
@@ -136,6 +136,8 @@ struct editline {
protected int el_editmode(EditLine *, int, const char **);
+#define el_isprint(x) ((unsigned char) (x) < 0x80 ? isprint(x) : 1)
+
#ifdef DEBUG
#define EL_ABORT(a) do { \
fprintf(el->el_errfile, "%s, %d: ", \