From ac10b30070d31f123ba95cf8e59c33a892efc5b0 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sun, 21 Nov 2010 18:11:40 +0100 Subject: cmp: with -s, do not report open errors Signed-off-by: Denys Vlasenko --- editors/cmp.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'editors') diff --git a/editors/cmp.c b/editors/cmp.c index f495da7d2..f84a56e3e 100644 --- a/editors/cmp.c +++ b/editors/cmp.c @@ -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; -- cgit v1.2.3