freebsd-dev/contrib/libreadline/examples/rltest.c

68 lines
1.2 KiB
C
Raw Normal View History

1997-01-04 22:09:20 +00:00
/* **************************************************************** */
/* */
/* Testing Readline */
/* */
/* **************************************************************** */
#if defined (HAVE_CONFIG_H)
#include <config.h>
#endif
1997-01-04 22:09:20 +00:00
#include <stdio.h>
#include <sys/types.h>
2000-03-19 21:18:09 +00:00
#ifdef READLINE_LIBRARY
# include "readline.h"
# include "history.h"
#else
# include <readline/readline.h>
# include <readline/history.h>
#endif
1997-01-04 22:09:20 +00:00
1998-04-28 06:22:20 +00:00
extern HIST_ENTRY **history_list ();
1997-01-04 22:09:20 +00:00
main ()
{
1998-04-28 06:22:20 +00:00
char *temp, *prompt;
int done;
temp = (char *)NULL;
prompt = "readline$ ";
done = 0;
1997-01-04 22:09:20 +00:00
while (!done)
{
temp = readline (prompt);
/* Test for EOF. */
if (!temp)
exit (1);
/* If there is anything on the line, print it and remember it. */
if (*temp)
{
fprintf (stderr, "%s\r\n", temp);
add_history (temp);
}
/* Check for `command' that we handle. */
if (strcmp (temp, "quit") == 0)
done = 1;
if (strcmp (temp, "list") == 0)
{
1998-04-28 06:22:20 +00:00
HIST_ENTRY **list;
1997-01-04 22:09:20 +00:00
register int i;
1998-04-28 06:22:20 +00:00
list = history_list ();
1997-01-04 22:09:20 +00:00
if (list)
{
for (i = 0; list[i]; i++)
1998-04-28 06:22:20 +00:00
fprintf (stderr, "%d: %s\r\n", i, list[i]->line);
1997-01-04 22:09:20 +00:00
}
}
free (temp);
}
1998-04-28 06:22:20 +00:00
exit (0);
1997-01-04 22:09:20 +00:00
}