diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2011-07-15 11:36:23 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-07-15 14:12:22 +0100 |
commit | e187aa8431ccf0436d9aee03ee1e80b79f148217 (patch) | |
tree | e7c1e49b46557bb0496299179477d7905311e252 /fish | |
parent | 9ec9c97ce2ba46e56b304d3a367c86adc703160d (diff) | |
download | libguestfs-e187aa8431ccf0436d9aee03ee1e80b79f148217.tar.gz libguestfs-e187aa8431ccf0436d9aee03ee1e80b79f148217.tar.xz libguestfs-e187aa8431ccf0436d9aee03ee1e80b79f148217.zip |
fish: Add is_interactive flag.
Decide early (before launch) if this is going to be an interactive
session, and set the is_interactive flag.
Diffstat (limited to 'fish')
-rw-r--r-- | fish/fish.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/fish/fish.c b/fish/fish.c index 4e45ceaf..750f50d5 100644 --- a/fish/fish.c +++ b/fish/fish.c @@ -89,6 +89,7 @@ int inspector = 0; int utf8_mode = 0; int have_terminfo = 0; int progress_bars = 0; +int is_interactive = 0; static void __attribute__((noreturn)) usage (int status) @@ -385,6 +386,12 @@ main (int argc, char *argv[]) } } + /* Decide here if this will be an interactive session. We have to + * do this as soon as possible after processing the command line + * args. + */ + is_interactive = !file && isatty (0); + /* Old-style -i syntax? Since -a/-d/-N and -i was disallowed * previously, if we have -i without any drives but with something * on the command line, it must be old-style syntax. @@ -487,7 +494,7 @@ main (int argc, char *argv[]) progress_bars = override_progress_bars >= 0 ? override_progress_bars - : (optind >= argc && isatty (0)); + : (optind >= argc && is_interactive); if (progress_bars) guestfs_set_event_callback (g, progress_callback, @@ -495,7 +502,7 @@ main (int argc, char *argv[]) /* Interactive, shell script, or command(s) on the command line? */ if (optind >= argc) { - if (isatty (0)) + if (is_interactive) interactive (); else shell_script (); |