]> git.ipfire.org Git - thirdparty/bash.git/blob - lib/readline/examples/rltest.c
Imported from ../bash-2.02.tar.gz.
[thirdparty/bash.git] / lib / readline / examples / rltest.c
1 /* **************************************************************** */
2 /* */
3 /* Testing Readline */
4 /* */
5 /* **************************************************************** */
6
7 /*
8 * Remove the next line if you're compiling this against an installed
9 * libreadline.a
10 */
11 #define READLINE_LIBRARY
12
13 #if defined (HAVE_CONFIG_H)
14 #include <config.h>
15 #endif
16
17 #include <stdio.h>
18 #include <sys/types.h>
19 #include "readline.h"
20 #include "history.h"
21
22 extern HIST_ENTRY **history_list ();
23
24 main ()
25 {
26 char *temp, *prompt;
27 int done;
28
29 temp = (char *)NULL;
30 prompt = "readline$ ";
31 done = 0;
32
33 while (!done)
34 {
35 temp = readline (prompt);
36
37 /* Test for EOF. */
38 if (!temp)
39 exit (1);
40
41 /* If there is anything on the line, print it and remember it. */
42 if (*temp)
43 {
44 fprintf (stderr, "%s\r\n", temp);
45 add_history (temp);
46 }
47
48 /* Check for `command' that we handle. */
49 if (strcmp (temp, "quit") == 0)
50 done = 1;
51
52 if (strcmp (temp, "list") == 0)
53 {
54 HIST_ENTRY **list;
55 register int i;
56
57 list = history_list ();
58 if (list)
59 {
60 for (i = 0; list[i]; i++)
61 fprintf (stderr, "%d: %s\r\n", i, list[i]->line);
62 }
63 }
64 free (temp);
65 }
66 exit (0);
67 }