summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-10-11 13:59:03 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:15:25 -0500
commitf9f3a2d7904548ebe1ecb06aff063a93123ec589 (patch)
treeb575ca20d290d7433ea49ae6d7bd252ed5420f81
parent51994b35f14d3103fc4543a1bd4cfb3429fd5b5c (diff)
downloadsamba-f9f3a2d7904548ebe1ecb06aff063a93123ec589.tar.gz
samba-f9f3a2d7904548ebe1ecb06aff063a93123ec589.tar.bz2
samba-f9f3a2d7904548ebe1ecb06aff063a93123ec589.zip
r19246: merge from samba4 rev 18207 and 18208:
readline fixes for mac os 10 metze (This used to be commit 976b97ecbf9bde400a6f92cad9d9709d56e73058)
-rw-r--r--source3/configure.in7
-rw-r--r--source3/lib/readline.c4
2 files changed, 10 insertions, 1 deletions
diff --git a/source3/configure.in b/source3/configure.in
index 9bc71058fc..314582c449 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -1183,6 +1183,13 @@ AC_CHECK_LIB(readline, rl_completion_matches,
[],
[$TERMLIBS])
+# not all readline libs have rl_event_hook or history_list
+AC_CHECK_DECLS(rl_event_hook, [], [], [#include <readline/readline.h>])
+AC_CHECK_LIB(readline, history_list,
+ [AC_DEFINE(HAVE_HISTORY_LIST, 1, [Do we have history_list?])],
+ [],
+ [$TERMLIBS])
+
# The following test taken from the cvs sources
# If we can't find connect, try looking in -lsocket, -lnsl, and -linet.
# The Irix 5 libc.so has connect and gethostbyname, but Irix 5 also has
diff --git a/source3/lib/readline.c b/source3/lib/readline.c
index 1f599dc0a7..24d16ea34f 100644
--- a/source3/lib/readline.c
+++ b/source3/lib/readline.c
@@ -113,8 +113,10 @@ char *smb_readline(const char *prompt, void (*callback)(void),
rl_attempted_completion_function = RL_COMPLETION_CAST completion_fn;
}
+#if HAVE_DECL_RL_EVENT_HOOK
if (callback)
rl_event_hook = (Function *)callback;
+#endif
ret = readline(prompt);
if (ret && *ret)
add_history(ret);
@@ -154,7 +156,7 @@ history
****************************************************************************/
int cmd_history(void)
{
-#if defined(HAVE_LIBREADLINE)
+#if defined(HAVE_LIBREADLINE) && defined(HAVE_HISTORY_LIST)
HIST_ENTRY **hlist;
int i;