From 8860ffdc093f19a6b0fe1abd43ff782d938a2d2d Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Fri, 7 Sep 2018 13:50:57 -0400 Subject: [PATCH] vtysh: Add code to isolate append_history The append_history function in lib readline appears to not be universally available across all of the esoteric platforms we may want to compile on. As such provide a way to gracefully do nothing. Signed-off-by: Donald Sharp --- configure.ac | 4 ++++ vtysh/vtysh_main.c | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/configure.ac b/configure.ac index f1ffd43f5b..055cdda957 100755 --- a/configure.ac +++ b/configure.ac @@ -1056,6 +1056,10 @@ dnl [TODO] on Linux, and in [TODO] on Solaris. if test $ac_cv_lib_readline_rl_completion_matches = no; then AC_DEFINE(rl_completion_matches,completion_matches,Old readline) fi + AC_SEARCH_LIBS([append_history], [readline], [frr_cv_append_history=yes], [frr_cv_append_history=no]) + if test "$frr_cv_append_history" = yes; then + AC_DEFINE(HAVE_APPEND_HISTORY, 1, [Have history.h append_history]) + fi ;; esac AC_SUBST(LIBREADLINE) diff --git a/vtysh/vtysh_main.c b/vtysh/vtysh_main.c index 86fa62f474..7e979f2c8f 100644 --- a/vtysh/vtysh_main.c +++ b/vtysh/vtysh_main.c @@ -30,6 +30,16 @@ #include #include +/* + * The append_history function only appears in newer versions + * of the readline library it appears like. Since we don't + * need this just silently ignore the code on these + * ancient platforms. + */ +#if !defined HAVE_APPEND_HISTORY +#define append_history(A, B) +#endif + #include #include "getopt.h" #include "command.h" -- 2.39.5