git: 824bbb9a4082 - main - diff: consider two files with same inodes as identical
Date: Thu, 07 Oct 2021 15:09:46 UTC
The branch main has been updated by oshogbo:
URL: https://cgit.FreeBSD.org/src/commit/?id=824bbb9a40820fb62bde0a91c0f13e0b894da149
commit 824bbb9a40820fb62bde0a91c0f13e0b894da149
Author: Mariusz Zaborski <oshogbo@FreeBSD.org>
AuthorDate: 2021-10-07 15:07:00 +0000
Commit: Mariusz Zaborski <oshogbo@FreeBSD.org>
CommitDate: 2021-10-07 15:07:00 +0000
diff: consider two files with same inodes as identical
Obtained from: OpenBSD
MFC after: 1 week
---
usr.bin/diff/diffreg.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/usr.bin/diff/diffreg.c b/usr.bin/diff/diffreg.c
index fc3c3406a073..995843f9e539 100644
--- a/usr.bin/diff/diffreg.c
+++ b/usr.bin/diff/diffreg.c
@@ -440,6 +440,10 @@ files_differ(FILE *f1, FILE *f2, int flags)
if ((flags & (D_EMPTY1|D_EMPTY2)) || stb1.st_size != stb2.st_size ||
(stb1.st_mode & S_IFMT) != (stb2.st_mode & S_IFMT))
return (1);
+
+ if (stb1.st_dev == stb2.st_dev && stb1.st_ino == stb2.st_ino)
+ return (0);
+
for (;;) {
i = fread(buf1, 1, sizeof(buf1), f1);
j = fread(buf2, 1, sizeof(buf2), f2);