[augeas-devel] [PATCH] Use readline only when stdin is a tty, use getline otherwise.
Raphaël Pinson
raphink at gmail.com
Mon Mar 30 19:50:51 UTC 2009
From: Raphaël Pinson <raphink at raphink.net>
---
src/augtool.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/augtool.c b/src/augtool.c
index 0869960..a5fcde6 100644
--- a/src/augtool.c
+++ b/src/augtool.c
@@ -622,11 +622,16 @@ static int main_loop(void) {
char *line;
char *cmd, *args[maxargs];
int ret = 0;
+ size_t len = 0;
while(1) {
char *dup_line;
- line = readline("augtool> ");
+ if (isatty(fileno(stdin))) {
+ line = readline("augtool> ");
+ } else if (getline(&line, &len, stdin) == -1) {
+ return ret;
+ }
if (line == NULL) {
printf("\n");
return ret;
@@ -644,7 +649,8 @@ static int main_loop(void) {
r = run_command(cmd, maxargs, args);
if (r < 0)
ret = -1;
- add_history(line);
+ if (! isatty(fileno(stdin)))
+ add_history(line);
}
free(dup_line);
}
--
1.5.6.3
More information about the augeas-devel
mailing list