Annotation of embedaddon/readline/examples/rltest.c, revision 1.1.1.1
1.1 misho 1: /* **************************************************************** */
2: /* */
3: /* Testing Readline */
4: /* */
5: /* **************************************************************** */
6:
7: /* Copyright (C) 1987-2009 Free Software Foundation, Inc.
8:
9: This file is part of the GNU Readline Library (Readline), a library for
10: reading lines of text with interactive input and history editing.
11:
12: Readline is free software: you can redistribute it and/or modify
13: it under the terms of the GNU General Public License as published by
14: the Free Software Foundation, either version 3 of the License, or
15: (at your option) any later version.
16:
17: Readline is distributed in the hope that it will be useful,
18: but WITHOUT ANY WARRANTY; without even the implied warranty of
19: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20: GNU General Public License for more details.
21:
22: You should have received a copy of the GNU General Public License
23: along with Readline. If not, see <http://www.gnu.org/licenses/>.
24: */
25:
26: #if defined (HAVE_CONFIG_H)
27: #include <config.h>
28: #endif
29:
30: #include <stdio.h>
31: #include <sys/types.h>
32:
33: #ifdef HAVE_STDLIB_H
34: # include <stdlib.h>
35: #else
36: extern void exit();
37: #endif
38:
39: #ifdef READLINE_LIBRARY
40: # include "readline.h"
41: # include "history.h"
42: #else
43: # include <readline/readline.h>
44: # include <readline/history.h>
45: #endif
46:
47: extern HIST_ENTRY **history_list ();
48:
49: main ()
50: {
51: char *temp, *prompt;
52: int done;
53:
54: temp = (char *)NULL;
55: prompt = "readline$ ";
56: done = 0;
57:
58: while (!done)
59: {
60: temp = readline (prompt);
61:
62: /* Test for EOF. */
63: if (!temp)
64: exit (1);
65:
66: /* If there is anything on the line, print it and remember it. */
67: if (*temp)
68: {
69: fprintf (stderr, "%s\r\n", temp);
70: add_history (temp);
71: }
72:
73: /* Check for `command' that we handle. */
74: if (strcmp (temp, "quit") == 0)
75: done = 1;
76:
77: if (strcmp (temp, "list") == 0)
78: {
79: HIST_ENTRY **list;
80: register int i;
81:
82: list = history_list ();
83: if (list)
84: {
85: for (i = 0; list[i]; i++)
86: fprintf (stderr, "%d: %s\r\n", i, list[i]->line);
87: }
88: }
89: free (temp);
90: }
91: exit (0);
92: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>