1999-04-16 09:34:55 +08:00
|
|
|
/* **************************************************************** */
|
|
|
|
/* */
|
|
|
|
/* Testing Readline */
|
|
|
|
/* */
|
|
|
|
/* **************************************************************** */
|
|
|
|
|
|
|
|
#if defined (HAVE_CONFIG_H)
|
|
|
|
#include <config.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <sys/types.h>
|
readline:
2000-07-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* Import of readline 4.1.
Locally modified files: Makefile.in, configure.in, configure
(regenerated), config.h.in (regenerated), readline.h, rltty.c,
shell.c signals.c.
Locally added files: acconfig.h, config/*, config.h.bot,
cross-build/*, doc/inc-hit.texinfo.
New files: USAGE, rlprivate.h, rlshell.h, xmalloc.h.
examples:
2000-07-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* Import of readline 4.1.
New files: excallback.c, rlfe.c.
doc:
2000-07-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
* Import of readline 4.1.
Regenerated inc-hist.texinfo as copy of hsuser.texinfo, for
inclusion in the gdb manual.
New file: rluserman.texinfo
2000-07-10 01:20:00 +08:00
|
|
|
|
|
|
|
#ifdef READLINE_LIBRARY
|
|
|
|
# include "readline.h"
|
|
|
|
# include "history.h"
|
|
|
|
#else
|
|
|
|
# include <readline/readline.h>
|
|
|
|
# include <readline/history.h>
|
|
|
|
#endif
|
1999-04-16 09:34:55 +08:00
|
|
|
|
|
|
|
extern HIST_ENTRY **history_list ();
|
|
|
|
|
|
|
|
main ()
|
|
|
|
{
|
|
|
|
char *temp, *prompt;
|
|
|
|
int done;
|
|
|
|
|
|
|
|
temp = (char *)NULL;
|
|
|
|
prompt = "readline$ ";
|
|
|
|
done = 0;
|
|
|
|
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
HIST_ENTRY **list;
|
|
|
|
register int i;
|
|
|
|
|
|
|
|
list = history_list ();
|
|
|
|
if (list)
|
|
|
|
{
|
|
|
|
for (i = 0; list[i]; i++)
|
|
|
|
fprintf (stderr, "%d: %s\r\n", i, list[i]->line);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
free (temp);
|
|
|
|
}
|
|
|
|
exit (0);
|
|
|
|
}
|