summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/head.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/head.c b/src/head.c
index b641f84a2..5c835b436 100644
--- a/src/head.c
+++ b/src/head.c
@@ -851,8 +851,9 @@ head_file (const char *filename, uintmax_t n_units, bool count_lines,
{
int fd;
bool ok;
+ bool is_stdin = STREQ (filename, "-");
- if (STREQ (filename, "-"))
+ if (is_stdin)
{
have_read_stdin = true;
fd = STDIN_FILENO;
@@ -869,7 +870,7 @@ head_file (const char *filename, uintmax_t n_units, bool count_lines,
}
ok = head (filename, fd, n_units, count_lines, elide_from_end);
- if (fd != STDIN_FILENO && close (fd) == -1)
+ if (!is_stdin && close (fd) != 0)
{
error (0, errno, _("closing %s"), quote (filename));
return false;