From: Paul Eggert Date: Mon, 11 Apr 2005 20:07:54 +0000 (+0000) Subject: Include stdio-safer.h. X-Git-Tag: CPPI-1_12~1031 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aba88afdced70a8fea1de4f9871244ddf425b36c;p=thirdparty%2Fcoreutils.git Include stdio-safer.h. (main): Use fopen_safer. Simplify the resulting code. --- diff --git a/src/join.c b/src/join.c index 68156191aa..682806a558 100644 --- a/src/join.c +++ b/src/join.c @@ -1,5 +1,5 @@ /* join - join lines of two files on a common field - Copyright (C) 91, 1995-2004 Free Software Foundation, Inc. + Copyright (C) 91, 1995-2005 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -31,6 +31,7 @@ #include "memcasecmp.h" #include "posixver.h" #include "quote.h" +#include "stdio-safer.h" #include "xmemcoll.h" #include "xstrtol.h" @@ -852,22 +853,20 @@ main (int argc, char **argv) usage (EXIT_FAILURE); } - fp1 = STREQ (names[0], "-") ? stdin : fopen (names[0], "r"); + fp1 = STREQ (names[0], "-") ? stdin : fopen_safer (names[0], "r"); if (!fp1) error (EXIT_FAILURE, errno, "%s", names[0]); - fp2 = STREQ (names[1], "-") ? stdin : fopen (names[1], "r"); + fp2 = STREQ (names[1], "-") ? stdin : fopen_safer (names[1], "r"); if (!fp2) error (EXIT_FAILURE, errno, "%s", names[1]); if (fp1 == fp2) error (EXIT_FAILURE, errno, _("both files cannot be standard input")); join (fp1, fp2); - if (fp1 != stdin && fclose (fp1) == EOF) + if (fclose (fp1) != 0) error (EXIT_FAILURE, errno, "%s", names[0]); - if (fp2 != stdin && fclose (fp2) == EOF) + if (fclose (fp2) != 0) error (EXIT_FAILURE, errno, "%s", names[1]); - if ((fp1 == stdin || fp2 == stdin) && fclose (stdin) == EOF) - error (EXIT_FAILURE, errno, "-"); exit (EXIT_SUCCESS); }