aboutsummaryrefslogtreecommitdiff
path: root/readline/examples/rl-callbacktest.c
diff options
context:
space:
mode:
Diffstat (limited to 'readline/examples/rl-callbacktest.c')
-rw-r--r--readline/examples/rl-callbacktest.c90
1 files changed, 0 insertions, 90 deletions
diff --git a/readline/examples/rl-callbacktest.c b/readline/examples/rl-callbacktest.c
deleted file mode 100644
index 0f00e57..0000000
--- a/readline/examples/rl-callbacktest.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/* Standard include files. stdio.h is required. */
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-
-/* Used for select(2) */
-#include <sys/types.h>
-#include <sys/select.h>
-
-#include <errno.h>
-#include <stdio.h>
-
-/* Standard readline include files. */
-#if defined (READLINE_LIBRARY)
-# include "readline.h"
-# include "history.h"
-#else
-# include <readline/readline.h>
-# include <readline/history.h>
-#endif
-
-extern int errno;
-
-static void cb_linehandler (char *);
-
-int running;
-const char *prompt = "rltest$ ";
-
-/* Callback function called for each line when accept-line executed, EOF
- seen, or EOF character read. This sets a flag and returns; it could
- also call exit(3). */
-static void
-cb_linehandler (char *line)
-{
- /* Can use ^D (stty eof) or `exit' to exit. */
- if (line == NULL || strcmp (line, "exit") == 0)
- {
- if (line == 0)
- printf ("\n");
- printf ("exit\n");
- /* This function needs to be called to reset the terminal settings,
- and calling it from the line handler keeps one extra prompt from
- being displayed. */
- rl_callback_handler_remove ();
-
- running = 0;
- }
- else
- {
- if (*line)
- add_history (line);
- printf ("input line: %s\n", line);
- free (line);
- }
-}
-
-int
-main (int c, char **v)
-{
- fd_set fds;
- int r;
-
- /* Install the line handler. */
- rl_callback_handler_install (prompt, cb_linehandler);
-
- /* Enter a simple event loop. This waits until something is available
- to read on readline's input stream (defaults to standard input) and
- calls the builtin character read callback to read it. It does not
- have to modify the user's terminal settings. */
- running = 1;
- while (running)
- {
- FD_ZERO (&fds);
- FD_SET (fileno (rl_instream), &fds);
-
- r = select (FD_SETSIZE, &fds, NULL, NULL, NULL);
- if (r < 0 && errno != EINTR)
- {
- perror ("rltest: select");
- rl_callback_handler_remove ();
- break;
- }
-
- if (FD_ISSET (fileno (rl_instream), &fds))
- rl_callback_read_char ();
- }
-
- printf ("rltest: Event loop has exited\n");
- return 0;
-}