X-Git-Url: https://git.draconx.ca/gitweb/cdecl99.git/blobdiff_plain/247d234f2e263700e0a7ce7f6c9219d010c182ca..4251b4bd0087752ceddbf95a6a8c928ab2207844:/src/cdecl99.c diff --git a/src/cdecl99.c b/src/cdecl99.c index d7ddd77..f7eed62 100644 --- a/src/cdecl99.c +++ b/src/cdecl99.c @@ -42,6 +42,20 @@ #if HAVE_READLINE_READLINE_H # include #endif +#if HAVE_RL_ADD_HISTORY && HAVE_READLINE_HISTORY_H +# include + +/* call add_history only if the line is non-blank */ +static void do_add_history(const char *line) +{ + if (line[strspn(line, " \t")]) + add_history(line); +} +#else +static void do_add_history(const char *line) +{ +} +#endif static const char *progname = "cdecl99"; static bool interactive = true; @@ -110,11 +124,6 @@ static void print_help(const struct option *lopts) printf(_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT); } -static int is_blank_line(const char *line) -{ - return !line[strspn(line, " \t")]; -} - static int repl_cmdline(unsigned count, char **commands) { int ret = 0; @@ -163,8 +172,7 @@ static int do_readline(char **linebuf, size_t *n, int interactive) if (!(*linebuf = readline("> "))) return 0; - if (!is_blank_line(*linebuf)) - add_history(*linebuf); + do_add_history(*linebuf); return 1; #endif }