aboutsummaryrefslogtreecommitdiff
path: root/readline/examples/rl.c
diff options
context:
space:
mode:
authorElena Zannoni <ezannoni@kwikemart.cygnus.com>2000-07-09 17:20:00 +0000
committerElena Zannoni <ezannoni@kwikemart.cygnus.com>2000-07-09 17:20:00 +0000
commit1b17e766659d93d1e7bd6633bf78132e1abb3568 (patch)
tree6fa61b8b0140bca0772cdf39390405ca20fec949 /readline/examples/rl.c
parentd0352a18a504a4e7b761f6b3264cf11347d8d056 (diff)
downloadgdb-1b17e766659d93d1e7bd6633bf78132e1abb3568.zip
gdb-1b17e766659d93d1e7bd6633bf78132e1abb3568.tar.gz
gdb-1b17e766659d93d1e7bd6633bf78132e1abb3568.tar.bz2
readline:
2000-07-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * Import of readline 4.1. Locally modified files: Makefile.in, configure.in, configure (regenerated), config.h.in (regenerated), readline.h, rltty.c, shell.c signals.c. Locally added files: acconfig.h, config/*, config.h.bot, cross-build/*, doc/inc-hit.texinfo. New files: USAGE, rlprivate.h, rlshell.h, xmalloc.h. examples: 2000-07-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * Import of readline 4.1. New files: excallback.c, rlfe.c. doc: 2000-07-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * Import of readline 4.1. Regenerated inc-hist.texinfo as copy of hsuser.texinfo, for inclusion in the gdb manual. New file: rluserman.texinfo
Diffstat (limited to 'readline/examples/rl.c')
-rw-r--r--readline/examples/rl.c39
1 files changed, 26 insertions, 13 deletions
diff --git a/readline/examples/rl.c b/readline/examples/rl.c
index 17a6343..2d1d17e 100644
--- a/readline/examples/rl.c
+++ b/readline/examples/rl.c
@@ -2,15 +2,9 @@
* rl - command-line interface to read a line from the standard input
* (or another fd) using readline.
*
- * usage: rl [-p prompt] [-u unit] [-d default]
+ * usage: rl [-p prompt] [-u unit] [-d default] [-n nchars]
*/
-/*
- * 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
@@ -18,8 +12,14 @@
#include <stdio.h>
#include <sys/types.h>
#include "posixstat.h"
-#include "readline.h"
-#include "history.h"
+
+#if defined (READLINE_LIBRARY)
+# include "readline.h"
+# include "history.h"
+#else
+# include <readline/readline.h>
+# include <readline/history.h>
+#endif
extern int optind;
extern char *optarg;
@@ -40,22 +40,24 @@ set_deftext ()
deftext = (char *)NULL;
rl_startup_hook = (Function *)NULL;
}
+ return 0;
}
static void
usage()
{
- fprintf (stderr, "%s: usage: %s [-p prompt] [-u unit] [-d default]\n",
+ fprintf (stderr, "%s: usage: %s [-p prompt] [-u unit] [-d default] [-n nchars]\n",
progname, progname);
}
+int
main (argc, argv)
int argc;
char **argv;
{
char *temp, *prompt;
struct stat sb;
- int opt, fd;
+ int opt, fd, nch;
FILE *ifp;
progname = strrchr(argv[0], '/');
@@ -66,10 +68,10 @@ main (argc, argv)
/* defaults */
prompt = "readline$ ";
- fd = 0;
+ fd = nch = 0;
deftext = (char *)0;
- while ((opt = getopt(argc, argv, "p:u:d:")) != EOF)
+ while ((opt = getopt(argc, argv, "p:u:d:n:")) != EOF)
{
switch (opt)
{
@@ -87,6 +89,14 @@ main (argc, argv)
case 'd':
deftext = optarg;
break;
+ case 'n':
+ nch = atoi(optarg);
+ if (nch < 0)
+ {
+ fprintf (stderr, "%s: bad value for -n: `%s'\n", progname, optarg);
+ exit (2);
+ }
+ break;
default:
usage ();
exit (2);
@@ -107,6 +117,9 @@ main (argc, argv)
if (deftext && *deftext)
rl_startup_hook = set_deftext;
+ if (nch > 0)
+ rl_num_chars_to_read = nch;
+
temp = readline (prompt);
/* Test for EOF. */