Annotation of embedaddon/readline/examples/rltest.c, revision 1.1.1.2

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: 
1.1.1.2 ! misho      49: int
1.1       misho      50: main ()
                     51: {
                     52:   char *temp, *prompt;
                     53:   int done;
                     54: 
                     55:   temp = (char *)NULL;
                     56:   prompt = "readline$ ";
                     57:   done = 0;
                     58: 
                     59:   while (!done)
                     60:     {
                     61:       temp = readline (prompt);
                     62: 
                     63:       /* Test for EOF. */
                     64:       if (!temp)
                     65:        exit (1);
                     66: 
                     67:       /* If there is anything on the line, print it and remember it. */
                     68:       if (*temp)
                     69:        {
                     70:          fprintf (stderr, "%s\r\n", temp);
                     71:          add_history (temp);
                     72:        }
                     73: 
                     74:       /* Check for `command' that we handle. */
                     75:       if (strcmp (temp, "quit") == 0)
                     76:        done = 1;
                     77: 
                     78:       if (strcmp (temp, "list") == 0)
                     79:        {
                     80:          HIST_ENTRY **list;
                     81:          register int i;
                     82: 
                     83:          list = history_list ();
                     84:          if (list)
                     85:            {
                     86:              for (i = 0; list[i]; i++)
                     87:                fprintf (stderr, "%d: %s\r\n", i, list[i]->line);
                     88:            }
                     89:        }
                     90:       free (temp);
                     91:     }
                     92:   exit (0);
                     93: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>