cmp: with -s, do not report open errors

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko 2010-11-21 18:11:40 +01:00
parent 400ff226c2
commit ac10b30070

View File

@ -33,8 +33,6 @@ int cmp_main(int argc UNUSED_PARAM, char **argv)
unsigned opt;
int retval = 0;
xfunc_error_retval = 2; /* 1 is returned if files are different. */
opt_complementary = "-1"
IF_DESKTOP(":?4")
IF_NOT_DESKTOP(":?2")
@ -43,8 +41,6 @@ int cmp_main(int argc UNUSED_PARAM, char **argv)
argv += optind;
filename1 = *argv;
fp1 = xfopen_stdin(filename1);
if (*++argv) {
filename2 = *argv;
if (ENABLE_DESKTOP && *++argv) {
@ -55,6 +51,10 @@ int cmp_main(int argc UNUSED_PARAM, char **argv)
}
}
xfunc_error_retval = 2; /* missing file results in exitcode 2 */
if (opt & CMP_OPT_s)
logmode = 0; /* -s suppresses open error messages */
fp1 = xfopen_stdin(filename1);
fp2 = xfopen_stdin(filename2);
if (fp1 == fp2) { /* Paranoia check... stdin == stdin? */
/* Note that we don't bother reading stdin. Neither does gnu wc.
@ -63,6 +63,7 @@ int cmp_main(int argc UNUSED_PARAM, char **argv)
*/
return 0;
}
logmode = LOGMODE_STDIO;
if (opt & CMP_OPT_l)
fmt = fmt_l_opt;