[PATCH] mingw: work around stat-limitation
- From
Erik Faye-Lund <kusmabite@gmail.com>
- Date
- Feb 23, 2012, 20:25 UTC
- Message-ID
- <1330028744-5280-1-git-send-email-kusmabite@gmail.com>
Our stat implementation for Windows always sets st_ino to 0. This means that checking if isatty(0) and comparing the reported inodes of stdout and stdin is not sufficient to detect that both are pointing to the same TTY.
Luckily, there's only one console on Windows, so adding a check for isatty(1) should do the trick. For platforms where inodes are reported correctly, this should still be correct.
Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com> ---
Here's a proper patch for this glitch.
builtin/merge.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/builtin/merge.c b/builtin/merge.c index ed0f959..bef01e3 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1130,6 +1130,7 @@ static int default_edit_option(void) return (!fstat(0, &st_stdin) && !fstat(1, &st_stdout) && isatty(0) && + isatty(1) && st_stdin.st_dev == st_stdout.st_dev && st_stdin.st_ino == st_stdout.st_ino && st_stdin.st_mode == st_stdout.st_mode);
-- 1.7.9