commit - bbcba3edad343a751fe9bebefddfc812a26cc057
commit + 91cfa92a0d58379f882eb01ce3e78b5f3fc6cfa5
blob - 88f814bd083282ec3980e7633b13701cdafa4656
blob + aa78d8efcc2c684d5bec7c145bda3449743d1355
--- configure.ac
+++ configure.ac
AC_LIBOBJ(ohash)
])
+# Check for readline
+AS_CASE([$host_os],
+ [*openbsd*], [
+ AC_DEFINE([HAVE_READLINE], 1, [1 if readline found])
+ READLINE_CFLAGS=''
+ READLINE_LIBS='-lreadline'
+ ], [
+ PKG_CHECK_MODULES([READLINE], [readline], [
+ AC_DEFINE([HAVE_READLINE], 0, [])
+ ], [
+ AC_DEFINE([HAVE_READLINE], 0, [])
+ ])
+ ]
+)
+AC_SUBST(READLINE_CFLAGS)
+AC_SUBST(READLINE_LIBS)
+
# Save our CFLAGS/CPPFLAGS/LDFLAGS for the Makefile and restore the old user
# variables.
AC_SUBST(AM_CPPFLAGS)
blob - db48a7233c4f6f374cf5263aa19af899f5bf900b
blob + 170543df04000f49c5b768a7fb112363f48baab1
--- kamiftp/Makefile.am
+++ kamiftp/Makefile.am
LDADD = $(LIBOBJS)
-AM_CPPFLAGS += -DKAMID_VERSION='"@VERSION@"' \
+kamiftp_CFLAGS = @READLINE_CFLAGS@
+kamiftp_LDFLAGS= @READLINE_LIBS@
+
+AM_CPPFLAGS = -DKAMID_VERSION='"@VERSION@"' \
-I$(top_srcdir)/ \
-I$(top_srcdir)/compat \
-I$(top_srcdir)/lib
blob - 96e71e43189f2deed268092a49e080c462282053
blob + b0658bdccc660cc673ad11784f437adf7b2dbf3b
--- kamiftp/ftp.c
+++ kamiftp/ftp.c
#include <tls.h>
#include <unistd.h>
+#ifdef HAVE_READLINE
#include <readline/readline.h>
#include <readline/history.h>
+#endif
#ifndef nitems
#define nitems(_a) (sizeof((_a)) / sizeof((_a)[0]))
#define ASSERT_EMPTYBUF() assert(EVBUFFER_LENGTH(buf) == 0)
+#if !HAVE_READLINE
+char *
+readline(const char *prompt)
+{
+ char *ch, *line = NULL;
+ size_t linesize = 0;
+ ssize_t linelen;
+
+ printf("%s", prompt);
+ fflush(stdout);
+
+ linelen = getline(&line, &linesize, stdin);
+ if (linelen == -1)
+ return NULL;
+
+ if ((ch = strchr(line, '\n')) != NULL)
+ *ch = '\0';
+ return line;
+}
+
+void
+add_history(const char *line)
+{
+ return;
+}
+#endif
+
static char *
read_line(const char *prompt)
{