=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rcs/diff.c,v retrieving revision 1.26 retrieving revision 1.27 diff -c -r1.26 -r1.27 *** src/usr.bin/rcs/diff.c 2009/06/07 08:39:13 1.26 --- src/usr.bin/rcs/diff.c 2010/07/15 11:10:23 1.27 *************** *** 1,4 **** ! /* $OpenBSD: diff.c,v 1.26 2009/06/07 08:39:13 ray Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: diff.c,v 1.27 2010/07/15 11:10:23 ray Exp $ */ /* * Copyright (C) Caldera International Inc. 2001-2002. * All rights reserved. *************** *** 413,425 **** for (;;) { i = fread(buf1, 1, sizeof(buf1), f1); j = fread(buf2, 1, sizeof(buf2), f2); if (i != j) return (1); ! if (i == 0 && j == 0) { ! if (ferror(f1) || ferror(f2)) ! return (-1); return (0); - } if (memcmp(buf1, buf2, i) != 0) return (1); } --- 413,424 ---- for (;;) { i = fread(buf1, 1, sizeof(buf1), f1); j = fread(buf2, 1, sizeof(buf2), f2); + if ((!i && ferror(f1)) || (!j && ferror(f2))) + return (-1); if (i != j) return (1); ! if (i == 0) return (0); if (memcmp(buf1, buf2, i) != 0) return (1); }