]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
build: work around super-old readline.h
authorRyota Ozaki <ozaki.ryota@gmail.com>
Mon, 18 Nov 2013 15:39:32 +0000 (00:39 +0900)
committerEric Blake <eblake@redhat.com>
Mon, 18 Nov 2013 23:24:06 +0000 (16:24 -0700)
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 <ozaki.ryota@gmail.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
tools/virsh.c

index 241c5b848d2bae37b18a3715dd726c481f4b4118..5559d71551d0596748b5df0afc93aebf1bbf5dd5 100644 (file)
@@ -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;