# HG changeset patch # User Rob Landley # Date 1330698781 21600 # Node ID e7c742f78361d9795722e9981598343d9a87b6fa # Parent f062652562bdf05e7923cc997b2c3e2fabdd9c77 Only show one normal difference (sans -l) and EOF message should go to stdout, not stderr. diff -r f062652562bd -r e7c742f78361 toys/cmp.c --- a/toys/cmp.c Fri Mar 02 08:27:50 2012 -0600 +++ b/toys/cmp.c Fri Mar 02 08:33:01 2012 -0600 @@ -63,17 +63,17 @@ if (!(toys.optflags & FLAG_s)) { printf("%s %s differ: char %ld, line %ld\n", TT.name, name, byte_no, line_no); + toys.exitval++; } - return; + goto out; } - } byte_no++; if (toybuf[i] == '\n') line_no++; } if (len1 != len2) { if (!(toys.optflags & FLAG_s)) { - fdprintf(2, "cmp: EOF on %s\n", + printf("cmp: EOF on %s\n", len1 < len2 ? TT.name : name); } toys.exitval = 1; @@ -81,6 +81,7 @@ } if (len1 < 1) break; } +out: if (CFG_TOYBOX_FREE) close(TT.fd); }