From ab6181ade55645c10e94593505c30b968d2f5b9f Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Tue, 19 Jan 2021 20:54:06 -0500 Subject: Don't use a pager if reading standard input --- bin/hilex.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'bin/hilex.c') diff --git a/bin/hilex.c b/bin/hilex.c index 9fa0b5a9..4952c7ad 100644 --- a/bin/hilex.c +++ b/bin/hilex.c @@ -121,10 +121,10 @@ enum Option { typedef void Header(const char *opts[]); typedef void Output(const char *opts[], enum Class class, const char *text); -static bool tty; +static bool pager; static void ansiHeader(const char *opts[]) { (void)opts; - if (!(tty = isatty(STDOUT_FILENO))) return; + if (!pager) return; const char *shell = getenv("SHELL"); const char *pager = getenv("PAGER"); if (!shell) shell = "/bin/sh"; @@ -152,7 +152,7 @@ static void ansiHeader(const char *opts[]) { static void ansiFooter(const char *opts[]) { (void)opts; - if (!tty) return; + if (!pager) return; int status; fclose(stdout); wait(&status); @@ -365,6 +365,7 @@ int main(int argc, char *argv[]) { path = argv[optind]; file = fopen(path, "r"); if (!file) err(EX_NOINPUT, "%s", path); + pager = isatty(STDOUT_FILENO); } if (!name) { -- cgit 1.4.1