[binutils-gdb] windows: remove st_dev test from SAME_INODE

Alan Modra via Binutils-cvs <[email protected]>
Newsgroups gmane.comp.gnu.binutils.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=afa6db16e6508d8ea269557085bc7c301e824382

commit afa6db16e6508d8ea269557085bc7c301e824382
Author: Alan Modra <[email protected]>
Date:   Tue Aug 18 15:20:28 2026 +0930

    windows: remove st_dev test from SAME_INODE
    
    As reported "st_dev is the drive number, so on D: it is 3 and the
    guard passes.  Every file on the drive then compares equal to every
    other file."
    
            * same-inode.h (SAME_INODE): Do not test st_dev on windows to
            validate st_dev/st_ino comparison.

Diff:
---
 include/same-inode.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/include/same-inode.h b/include/same-inode.h
index 9d9049843d1..d9aea7b006f 100644
--- a/include/same-inode.h
+++ b/include/same-inode.h
@@ -28,11 +28,12 @@
      && (a).st_dev == (b).st_dev)
 # elif defined _WIN32 && ! defined __CYGWIN__
    /* Native Windows.  */
-   /* stat() and fstat() set st_dev and st_ino to 0 if information about
+   /* stat() and fstat() set st_ino to 0 if information about
       the inode is not available.  */
 #  define SAME_INODE(a, b) \
-    (!((a).st_ino == 0 && (a).st_dev == 0) \
-     && (a).st_ino == (b).st_ino && (a).st_dev == (b).st_dev)
+    ((a).st_ino != 0			\
+     && (a).st_ino == (b).st_ino	\
+     && (a).st_dev == (b).st_dev)
 # else
 #  define SAME_INODE(a, b)    \
     ((a).st_ino == (b).st_ino \
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.