summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/lib/smbreadline/readline.m45
-rw-r--r--source4/torture/smbtorture.c9
2 files changed, 13 insertions, 1 deletions
diff --git a/source4/lib/smbreadline/readline.m4 b/source4/lib/smbreadline/readline.m4
index df154409ad..06d60caae1 100644
--- a/source4/lib/smbreadline/readline.m4
+++ b/source4/lib/smbreadline/readline.m4
@@ -78,6 +78,11 @@ AC_CHECK_LIB(readline, history_list,
[],
[$TERMLIBS])
+AC_CHECK_LIB(readline, add_history,
+ [AC_DEFINE(HAVE_ADD_HISTORY, 1, [Do we have add_history?])],
+ [],
+ [$TERMLIBS])
+
AC_MSG_CHECKING(whether to use extern readline)
if test x"$EXTERNAL_READLINE" = x"yes"; then
AC_MSG_RESULT(yes)
diff --git a/source4/torture/smbtorture.c b/source4/torture/smbtorture.c
index 848773ee8a..c1d32a769d 100644
--- a/source4/torture/smbtorture.c
+++ b/source4/torture/smbtorture.c
@@ -33,6 +33,9 @@
#include "auth/gensec/gensec.h"
#include "param/param.h"
+#if HAVE_READLINE_HISTORY_H
+#include <readline/history.h>
+#endif
static bool run_matching(struct torture_context *torture,
const char *prefix,
@@ -386,7 +389,11 @@ static void run_shell(struct torture_context *tctx)
if (cline == NULL)
return;
-
+
+#if HAVE_ADD_HISTORY
+ add_history(cline);
+#endif
+
ret = poptParseArgvString(cline, &argc, &argv);
if (ret != 0) {
fprintf(stderr, "Error parsing line\n");