]>
git.ipfire.org Git - thirdparty/bash.git/blob - lib/readline/examples/rl.c
a5cf276cb943afcf88a12691c2d7c160dcb11262
2 * rl - command-line interface to read a line from the standard input
3 * (or another fd) using readline.
5 * usage: rl [-p prompt] [-u unit] [-d default] [-n nchars]
8 /* Copyright (C) 1987-2009 Free Software Foundation, Inc.
10 This file is part of the GNU Readline Library (Readline), a library for
11 reading lines of text with interactive input and history editing.
13 Readline is free software: you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation, either version 3 of the License, or
16 (at your option) any later version.
18 Readline is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
23 You should have received a copy of the GNU General Public License
24 along with Readline. If not, see <http://www.gnu.org/licenses/>.
27 #if defined (HAVE_CONFIG_H)
33 #include <sys/types.h>
41 #if defined (READLINE_LIBRARY)
42 # include "posixstat.h"
43 # include "readline.h"
46 # include <sys/stat.h>
47 # include <readline/readline.h>
48 # include <readline/history.h>
54 #if !defined (strchr) && !defined (__STDC__)
55 extern char *strrchr();
58 static char *progname
;
66 rl_insert_text (deftext
);
67 deftext
= (char *)NULL
;
68 rl_startup_hook
= (rl_hook_func_t
*)NULL
;
76 fprintf (stderr
, "%s: usage: %s [-p prompt] [-u unit] [-d default] [-n nchars]\n",
90 progname
= strrchr(argv
[0], '/');
97 prompt
= "readline$ ";
101 while ((opt
= getopt(argc
, argv
, "p:u:d:n:")) != EOF
)
112 fprintf (stderr
, "%s: bad file descriptor `%s'\n", progname
, optarg
);
123 fprintf (stderr
, "%s: bad value for -n: `%s'\n", progname
, optarg
);
135 if (fstat (fd
, &sb
) < 0)
137 fprintf (stderr
, "%s: %d: bad file descriptor\n", progname
, fd
);
140 ifp
= fdopen (fd
, "r");
144 if (deftext
&& *deftext
)
145 rl_startup_hook
= set_deftext
;
148 rl_num_chars_to_read
= nch
;
150 temp
= readline (prompt
);
156 printf ("%s\n", temp
);