mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-12 15:52:55 +00:00
tools: Work around ancient readline
My latest commit of a785186446de785d uncovered a problem we fixed in 9eb23fe2 but then reverted in 834c5720e443. Turns out, some systems (I'm looking at you OS X) have ancient readline with broken header file. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
28907b0043
commit
f7deea5242
11
tools/vsh.c
11
tools/vsh.c
@ -2892,6 +2892,7 @@ vshReadlineInit(vshControl *ctl)
|
||||
int ret = -1;
|
||||
char *histsize_env = NULL;
|
||||
const char *histsize_str = NULL;
|
||||
const char *break_characters = " \t\n\\`@$><=;|&{(";
|
||||
|
||||
/* Opaque data for autocomplete callbacks. */
|
||||
autoCompleteOpaque = ctl;
|
||||
@ -2900,12 +2901,20 @@ vshReadlineInit(vshControl *ctl)
|
||||
* Work around ancient readline 4.1 (hello Mac OS X),
|
||||
* which declared it as 'char *' instead of 'const char *'.
|
||||
*/
|
||||
# if defined(RL_READLINE_VERSION) && RL_READLINE_VERSION > 0x0402
|
||||
rl_readline_name = ctl->name;
|
||||
# else
|
||||
rl_readline_name = (char *) ctl->name;
|
||||
# endif
|
||||
|
||||
/* Tell the completer that we want a crack first. */
|
||||
rl_attempted_completion_function = vshReadlineCompletion;
|
||||
|
||||
rl_basic_word_break_characters = " \t\n\\`@$><=;|&{(";
|
||||
# if defined(RL_READLINE_VERSION) && RL_READLINE_VERSION > 0x0402
|
||||
rl_basic_word_break_characters = break_characters;
|
||||
# else
|
||||
rl_basic_word_break_characters = (char *) break_characters;
|
||||
# endif
|
||||
|
||||
if (virAsprintf(&histsize_env, "%s_HISTSIZE", ctl->env_prefix) < 0)
|
||||
goto cleanup;
|
||||
|
Loading…
x
Reference in New Issue
Block a user