- For 'cmp -s', compare file sizes only if both non-zero (bug #563618).

This commit is contained in:
Tim Waugh 2010-06-25 14:17:54 +00:00
commit 92d22c2084
2 changed files with 26 additions and 1 deletions

View file

@ -0,0 +1,20 @@
diff -up diffutils-2.8.1/src/cmp.c.cmp-s-empty diffutils-2.8.1/src/cmp.c
--- diffutils-2.8.1/src/cmp.c.cmp-s-empty 2002-04-05 21:37:31.000000000 +0100
+++ diffutils-2.8.1/src/cmp.c 2010-06-25 14:56:08.464802321 +0100
@@ -316,12 +316,15 @@ main (int argc, char **argv)
/* If only a return code is needed,
and if both input descriptors are associated with plain files,
+ and if both files are larger than 0 bytes (procfs files are always 0),
conclude that the files differ if they have different sizes
and if more bytes will be compared than are in the smaller file. */
if (comparison_type == type_status
&& S_ISREG (stat_buf[0].st_mode)
- && S_ISREG (stat_buf[1].st_mode))
+ && S_ISREG (stat_buf[1].st_mode)
+ && stat_buf[0].st_size > 0
+ && stat_buf[1].st_size > 0)
{
off_t s0 = stat_buf[0].st_size - file_position (0);
off_t s1 = stat_buf[1].st_size - file_position (1);

View file

@ -1,7 +1,7 @@
Summary: A GNU collection of diff utilities
Name: diffutils
Version: 2.8.1
Release: 25%{?dist}
Release: 26%{?dist}
Group: Applications/Text
URL: http://www.gnu.org/software/diffutils/diffutils.html
Source: ftp://ftp.gnu.org/gnu/diffutils/diffutils-%{version}.tar.gz
@ -13,6 +13,7 @@ Patch0: diffutils-2.8.4-i18n.patch
Patch1: diffutils-2.8.1-badc.patch
Patch2: diffutils-sdiff.patch
Patch3: diffutils-sdiff-E.patch
Patch4: diffutils-cmp-s-empty.patch
License: GPLv2+
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
@ -37,6 +38,7 @@ Install diffutils if you need to compare text files.
%patch1 -p1 -b .badc
%patch2 -p1 -b .sdiff
%patch3 -p1 -b .sdiff-E
%patch4 -p1 -b .cmp-s-empty
%build
%configure
@ -81,6 +83,9 @@ rm -rf $RPM_BUILD_ROOT
%{_infodir}/diff.info*gz
%changelog
* Fri Jun 25 2010 Tim Waugh <twaugh@redhat.com> 2.8.1-26
- For 'cmp -s', compare file sizes only if both non-zero (bug #563618).
* Tue Aug 11 2009 Tim Waugh <twaugh@redhat.com> 2.8.1-25
- Only try to install the info file if it exists so that package
installation does not fail with --excludedocs (bug #515919).