mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-28197 Linux mariadb-client build does not accept Unicode characters
Apparently newer libedit is readline-compatible enough to be detected as a readline, with USE_NEW_READLINE_INTERFACE defined and USE_LIBEDIT_INTERFACE not defined. Let's set the locale unconditionally, independently from the readline/libedit variant. It's already happening anyway now, unless one specifies --default-character-set explicitly.
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
#include <violite.h>
|
||||
#include <my_sys.h>
|
||||
#include <source_revision.h>
|
||||
#if defined(USE_LIBEDIT_INTERFACE) && defined(HAVE_LOCALE_H)
|
||||
#if defined(HAVE_LOCALE_H)
|
||||
#include <locale.h>
|
||||
#endif
|
||||
|
||||
@@ -2684,6 +2684,9 @@ static void initialize_readline ()
|
||||
/* Allow conditional parsing of the ~/.inputrc file. */
|
||||
rl_readline_name= (char *) "mysql";
|
||||
rl_terminal_name= getenv("TERM");
|
||||
#ifdef HAVE_SETLOCALE
|
||||
setlocale(LC_ALL,"");
|
||||
#endif
|
||||
|
||||
/* Tell the completer that we want a crack first. */
|
||||
#if defined(USE_NEW_READLINE_INTERFACE)
|
||||
@@ -2692,9 +2695,6 @@ static void initialize_readline ()
|
||||
|
||||
rl_add_defun("magic-space", (rl_command_func_t *)&fake_magic_space, -1);
|
||||
#elif defined(USE_LIBEDIT_INTERFACE)
|
||||
#ifdef HAVE_LOCALE_H
|
||||
setlocale(LC_ALL,""); /* so as libedit use isprint */
|
||||
#endif
|
||||
rl_attempted_completion_function= (CPPFunction*)&new_mysql_completion;
|
||||
rl_completion_entry_function= &no_completion;
|
||||
rl_add_defun("magic-space", (Function*)&fake_magic_space, -1);
|
||||
|
Reference in New Issue
Block a user