blob: b7370da5ace14467e054921757aa97cd8bbb128f [file] [log] [blame]
From 0aaeeb86ee5ef34c7adc61a850e9b101bc9f7aa5 Mon Sep 17 00:00:00 2001
From: Zdenek Kabelac <zkabelac@redhat.com>
Date: Thu, 6 Mar 2014 16:04:19 +0100
Subject: [PATCH] readline: switch to new-style readline typedef
Based on patch:
https://www.redhat.com/archives/lvm-devel/2014-March/msg00015.html
The CPPFunction typedef (among others) have been deprecated in favour of
specific prototyped typedefs since readline 4.2 (circa 2001).
It's been working since because compatibility typedefs have been in
place until they where removed in the recent readline 6.3 release.
Switch to the new style to avoid build breakage.
But also add full backward compatibility with define.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
WHATS_NEW | 1 +
tools/lvm.c | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 08cc26c..56abb66 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.79 - 20th December 2010
====================================
+ Use correct rl_completion_func_t typedef for new readline.
Remove some unused variables.
Add missing test for reallocation error in _find_parallel_space().
Add checks for allocation errors in config node clonning.
diff --git a/tools/lvm.c b/tools/lvm.c
index cec9f80..c9c3be0 100644
--- a/tools/lvm.c
+++ b/tools/lvm.c
@@ -27,6 +27,7 @@ int main(int argc, char **argv)
# include <readline/history.h>
# ifndef HAVE_RL_COMPLETION_MATCHES
# define rl_completion_matches(a, b) completion_matches((char *)a, b)
+# define rl_completion_func_t CPPFunction
# endif
static struct cmdline_context *_cmdline;
@@ -187,7 +188,7 @@ int lvm_shell(struct cmd_context *cmd, struct cmdline_context *cmdline)
char *input = NULL, *args[MAX_ARGS], **argv;
rl_readline_name = "lvm";
- rl_attempted_completion_function = (CPPFunction *) _completion;
+ rl_attempted_completion_function = (rl_completion_func_t *) _completion;
_read_history(cmd);
--
2.5.0.457.gab17608