From 9eb23fe24e17ac4ee91623aede26107c321be7c4 Mon Sep 17 00:00:00 2001 From: Ryota Ozaki Date: Tue, 19 Nov 2013 00:39:32 +0900 Subject: [PATCH] build: work around super-old readline.h This patch shuts up the following warning of clang on Mac OS X: virsh.c:2761:22: error: assigning to 'char *' from 'const char [6]' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] rl_readline_name = "virsh"; ^ ~~~~~~~ The warning happens because rl_readline_name on Mac OS X comes from an old readline header that still uses 'char *', while it is 'const char *' in readline 4.2 (April 2001) and newer. Tested on Mac OS X 10.8.5 (clang-500.2.75) and Fedora 19 (gcc 4.8.1). Signed-off-by: Ryota Ozaki Signed-off-by: Eric Blake --- tools/virsh.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 241c5b848d..5559d71551 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -2757,8 +2757,11 @@ vshReadlineInit(vshControl *ctl) int max_history = 500; const char *histsize_str; - /* Allow conditional parsing of the ~/.inputrc file. */ - rl_readline_name = "virsh"; + /* Allow conditional parsing of the ~/.inputrc file. + * Work around ancient readline 4.1 (hello Mac OS X), + * which declared it as 'char *' instead of 'const char *'. + */ + rl_readline_name = (char *) "virsh"; /* Tell the completer that we want a crack first. */ rl_attempted_completion_function = vshReadlineCompletion;