summaryrefslogtreecommitdiff
path: root/src/md5sum.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2005-04-11 20:08:11 +0000
committerPaul Eggert <eggert@cs.ucla.edu>2005-04-11 20:08:11 +0000
commite972b27d0566c5c3f093763c12841718b7a5bd57 (patch)
tree5a6dd2d685baa5ed8a03bb1e069e285e03158baf /src/md5sum.c
parentaba88afdced70a8fea1de4f9871244ddf425b36c (diff)
downloadcoreutils-e972b27d0566c5c3f093763c12841718b7a5bd57.tar.xz
(digest_file, digest_check):
Don't assume that fopen does not return stdin.
Diffstat (limited to 'src/md5sum.c')
-rw-r--r--src/md5sum.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/md5sum.c b/src/md5sum.c
index d12048a4a..400f675fa 100644
--- a/src/md5sum.c
+++ b/src/md5sum.c
@@ -335,8 +335,9 @@ digest_file (const char *filename, bool binary, unsigned char *bin_result,
{
FILE *fp;
int err;
+ bool is_stdin = STREQ (filename, "-");
- if (STREQ (filename, "-"))
+ if (is_stdin)
{
have_read_stdin = true;
fp = stdin;
@@ -370,7 +371,7 @@ digest_file (const char *filename, bool binary, unsigned char *bin_result,
return false;
}
- if (fp != stdin && fclose (fp) == EOF)
+ if (!is_stdin && fclose (fp) != 0)
{
error (0, errno, "%s", filename);
return false;
@@ -390,8 +391,9 @@ digest_check (const char *checkfile_name, int (*digest_stream) (FILE *, void *))
uintmax_t line_number;
char *line;
size_t line_chars_allocated;
+ bool is_stdin = STREQ (checkfile_name, "-");
- if (STREQ (checkfile_name, "-"))
+ if (is_stdin)
{
have_read_stdin = true;
checkfile_name = _("standard input");
@@ -505,7 +507,7 @@ digest_check (const char *checkfile_name, int (*digest_stream) (FILE *, void *))
return false;
}
- if (checkfile_stream != stdin && fclose (checkfile_stream) == EOF)
+ if (!is_stdin && fclose (checkfile_stream) != 0)
{
error (0, errno, "%s", checkfile_name);
return false;