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 <sharpd@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2018-09-07 13:50:57 -04:00
parent afc9534f67
commit 8860ffdc09
2 changed files with 14 additions and 0 deletions

View file

@ -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)

View file

@ -30,6 +30,16 @@
#include <readline/readline.h>
#include <readline/history.h>
/*
* 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 <lib/version.h>
#include "getopt.h"
#include "command.h"