aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-11-21 18:11:40 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-11-21 18:11:40 +0100
commitac10b30070d31f123ba95cf8e59c33a892efc5b0 (patch)
treeba1e7aca1a17130eab61082d8dcb271bb9161b4d
parent400ff226c2e20486b16759a7351ebf678ac327cf (diff)
downloadbusybox-w32-ac10b30070d31f123ba95cf8e59c33a892efc5b0.tar.gz
busybox-w32-ac10b30070d31f123ba95cf8e59c33a892efc5b0.tar.bz2
busybox-w32-ac10b30070d31f123ba95cf8e59c33a892efc5b0.zip
cmp: with -s, do not report open errors
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--editors/cmp.c9
1 files changed, 5 insertions, 4 deletions
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)
33 unsigned opt; 33 unsigned opt;
34 int retval = 0; 34 int retval = 0;
35 35
36 xfunc_error_retval = 2; /* 1 is returned if files are different. */
37
38 opt_complementary = "-1" 36 opt_complementary = "-1"
39 IF_DESKTOP(":?4") 37 IF_DESKTOP(":?4")
40 IF_NOT_DESKTOP(":?2") 38 IF_NOT_DESKTOP(":?2")
@@ -43,8 +41,6 @@ int cmp_main(int argc UNUSED_PARAM, char **argv)
43 argv += optind; 41 argv += optind;
44 42
45 filename1 = *argv; 43 filename1 = *argv;
46 fp1 = xfopen_stdin(filename1);
47
48 if (*++argv) { 44 if (*++argv) {
49 filename2 = *argv; 45 filename2 = *argv;
50 if (ENABLE_DESKTOP && *++argv) { 46 if (ENABLE_DESKTOP && *++argv) {
@@ -55,6 +51,10 @@ int cmp_main(int argc UNUSED_PARAM, char **argv)
55 } 51 }
56 } 52 }
57 53
54 xfunc_error_retval = 2; /* missing file results in exitcode 2 */
55 if (opt & CMP_OPT_s)
56 logmode = 0; /* -s suppresses open error messages */
57 fp1 = xfopen_stdin(filename1);
58 fp2 = xfopen_stdin(filename2); 58 fp2 = xfopen_stdin(filename2);
59 if (fp1 == fp2) { /* Paranoia check... stdin == stdin? */ 59 if (fp1 == fp2) { /* Paranoia check... stdin == stdin? */
60 /* Note that we don't bother reading stdin. Neither does gnu wc. 60 /* 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)
63 */ 63 */
64 return 0; 64 return 0;
65 } 65 }
66 logmode = LOGMODE_STDIO;
66 67
67 if (opt & CMP_OPT_l) 68 if (opt & CMP_OPT_l)
68 fmt = fmt_l_opt; 69 fmt = fmt_l_opt;