i-bash/lib/readline/examples/rltest.c

88 lines
2.2 KiB
C
Raw Normal View History

1996-12-23 17:02:34 +00:00
/* **************************************************************** */
/* */
/* Testing Readline */
/* */
/* **************************************************************** */
2002-07-17 14:10:11 +00:00
/* Copyright (C) 1987-2002 Free Software Foundation, Inc.
This file is part of the GNU Readline Library, a library for
reading lines of text with interactive input and history editing.
The GNU Readline Library is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2, or
(at your option) any later version.
The GNU Readline Library is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
The GNU General Public License is often shipped with GNU software, and
is generally kept in a file called COPYING or LICENSE. If you do not
have a copy of the license, write to the Free Software Foundation,
59 Temple Place, Suite 330, Boston, MA 02111 USA. */
1996-12-23 17:02:34 +00:00
1997-06-05 14:59:13 +00:00
#if defined (HAVE_CONFIG_H)
#include <config.h>
#endif
1996-12-23 17:02:34 +00:00
#include <stdio.h>
#include <sys/types.h>
2000-03-17 21:46:59 +00:00
#ifdef READLINE_LIBRARY
# include "readline.h"
# include "history.h"
#else
# include <readline/readline.h>
# include <readline/history.h>
#endif
1996-12-23 17:02:34 +00:00
1998-04-17 19:52:44 +00:00
extern HIST_ENTRY **history_list ();
1996-12-23 17:02:34 +00:00
main ()
{
1998-04-17 19:52:44 +00:00
char *temp, *prompt;
int done;
temp = (char *)NULL;
prompt = "readline$ ";
done = 0;
1996-12-23 17:02:34 +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-17 19:52:44 +00:00
HIST_ENTRY **list;
1996-12-23 17:02:34 +00:00
register int i;
1998-04-17 19:52:44 +00:00
list = history_list ();
1996-12-23 17:02:34 +00:00
if (list)
{
for (i = 0; list[i]; i++)
1998-04-17 19:52:44 +00:00
fprintf (stderr, "%d: %s\r\n", i, list[i]->line);
1996-12-23 17:02:34 +00:00
}
}
free (temp);
}
1998-04-17 19:52:44 +00:00
exit (0);
1996-12-23 17:02:34 +00:00
}