Blame SOURCES/diffutils-cmp-s-empty.patch

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