94 lines
2.2 KiB
C
Raw Normal View History

1997-01-04 22:09:20 +00:00
/* **************************************************************** */
/* */
/* Testing Readline */
/* */
/* **************************************************************** */
2003-08-31 17:55:46 +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. */
1997-01-04 22:09:20 +00:00
#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
2006-03-27 22:47:12 +00:00
#ifdef HAVE_STDLIB_H
# include <stdlib.h>
#else
extern void exit();
#endif
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
}