git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v7 7/7] various *.c: use isatty(0|2), not isatty(STDIN_FILENO|STDERR_FILENO)

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Dec 17, 2021, 04:25 UTC
Message-ID
<patch-v7-7.7-0670d1aa5f2-20211217T041945Z-avarab@gmail.com>
In-Reply-To
<cover-v7-0.7-00000000000-20211217T041945Z-avarab@gmail.com>

We have over 50 uses of "isatty(1)" and "isatty(2)" in the codebase, and around 10 "isatty(0)", but these used the {STDIN_FILENO,STD{OUT,ERR}_FILENO} macros in "stdlib.h" to refer to them.

Let's change these for consistency, and because another commit that would like to be based on top of this one[1] has a recipe to change all of these for ad-hoc testing, not needing to match these with that ad-hoc regex will make things easier to explain. Only one of these is related to the "struct progress" code which it discusses, but let's change all of these while we're at it.

1. https://lore.kernel.org/git/patch-v6-8.8-bff919994b5-20211102T122507Z-avarab@gmail.com/
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 builtin/bisect--helper.c | 2 +-
 builtin/bundle.c         | 2 +-
 compat/mingw.c           | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/builtin/bisect--helper.c b/builtin/bisect--helper.c
index 28a2e6a5750..21360a4e70b 100644
--- a/builtin/bisect--helper.c
+++ b/builtin/bisect--helper.c
@@ -830,7 +830,7 @@ static int bisect_autostart(struct bisect_terms *terms)
 	fprintf_ln(stderr, _("You need to start by \"git bisect "
 			  "start\"\n"));
 
-	if (!isatty(STDIN_FILENO))
+	if (!isatty(0))
 		return -1;
 
 	/*
diff --git a/builtin/bundle.c b/builtin/bundle.c
index 5a85d7cd0fe..df69c651753 100644
--- a/builtin/bundle.c
+++ b/builtin/bundle.c
@@ -56,7 +56,7 @@ static int parse_options_cmd_bundle(int argc,
 
 static int cmd_bundle_create(int argc, const char **argv, const char *prefix) {
 	int all_progress_implied = 0;
-	int progress = isatty(STDERR_FILENO);
+	int progress = isatty(2);
 	struct strvec pack_opts;
 	int version = -1;
 	int ret;
diff --git a/compat/mingw.c b/compat/mingw.c
index e14f2d5f77c..7c55d0f0414 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -2376,7 +2376,7 @@ int mingw_raise(int sig)
 	switch (sig) {
 	case SIGALRM:
 		if (timer_fn == SIG_DFL) {
-			if (isatty(STDERR_FILENO))
+			if (isatty(2))
 				fputs("Alarm clock\n", stderr);
 			exit(128 + SIGALRM);
 		} else if (timer_fn != SIG_IGN)
-- 
2.34.1.1119.g7a3fc8778ee
Previous: Johannes AltmanningerNext: Johannes Altmanninger
Message 15 of 16 in “progress: test fixes / cleanup”
  1. 0/7 progress: test fixes / cleanupÆvar Arnfjörð Bjarmason, Dec 17, 2021
  2. 1/7 leak tests: fix a memory leaks in "test-progress" helperÆvar Arnfjörð Bjarmason, Dec 17, 2021
  3. Johannes AltmanningerDec 27, 2021
  4. 2/7 progress.c test helper: add missing bracesÆvar Arnfjörð Bjarmason, Dec 17, 2021
  5. 3/7 progress.c tests: make start/stop commands on stdinÆvar Arnfjörð Bjarmason, Dec 17, 2021
  6. Johannes AltmanningerDec 27, 2021
  7. Ævar Arnfjörð BjarmasonDec 27, 2021
  8. 5/7 progress.c: add temporary variable from progress structÆvar Arnfjörð Bjarmason, Dec 17, 2021
  9. Johannes AltmanningerDec 27, 2021
  10. 4/7 progress.c tests: test some invalid usageÆvar Arnfjörð Bjarmason, Dec 17, 2021
  11. Johannes AltmanningerDec 27, 2021
  12. Junio C HamanoJan 3, 2022
  13. 6/7 pack-bitmap-write.c: don't return without stop_progress()Ævar Arnfjörð Bjarmason, Dec 17, 2021
  14. Johannes AltmanningerDec 27, 2021
  15. 7/7 various *.c: use isatty(0|2), not isatty(STDIN_FILENO|STDERR_FILENO)Ævar Arnfjörð Bjarmason, Dec 17, 2021
  16. Johannes AltmanningerDec 27, 2021

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.