67 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* **************************************************************** */
 | 
						|
/*								    */
 | 
						|
/*			Testing Readline			    */
 | 
						|
/*								    */
 | 
						|
/* **************************************************************** */
 | 
						|
 | 
						|
/*
 | 
						|
 * Remove the next line if you're compiling this against an installed
 | 
						|
 * libreadline.a
 | 
						|
 */
 | 
						|
#define READLINE_LIBRARY
 | 
						|
 | 
						|
#if defined (HAVE_CONFIG_H)
 | 
						|
#include <config.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#include <stdio.h>
 | 
						|
#include <sys/types.h>
 | 
						|
#include "readline.h"
 | 
						|
#include "history.h"
 | 
						|
 | 
						|
extern HIST_ENTRY **history_list ();
 | 
						|
 | 
						|
main ()
 | 
						|
{
 | 
						|
  char *temp, *prompt;
 | 
						|
  int done;
 | 
						|
 | 
						|
  temp = (char *)NULL;
 | 
						|
  prompt = "readline$ ";
 | 
						|
  done = 0;
 | 
						|
 | 
						|
  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)
 | 
						|
	{
 | 
						|
	  HIST_ENTRY **list;
 | 
						|
	  register int i;
 | 
						|
 | 
						|
	  list = history_list ();
 | 
						|
	  if (list)
 | 
						|
	    {
 | 
						|
	      for (i = 0; list[i]; i++)
 | 
						|
		fprintf (stderr, "%d: %s\r\n", i, list[i]->line);
 | 
						|
	    }
 | 
						|
	}
 | 
						|
      free (temp);
 | 
						|
    }
 | 
						|
  exit (0);
 | 
						|
}
 |