changeset 92946:5bb79def24e1

(Ffile_attributes) [WINDOWSNT]: Force inode be positive.
author Eli Zaretskii <eliz@gnu.org>
date Fri, 14 Mar 2008 17:30:35 +0000
parents eec1450e060e
children 04e711bb2db2
files src/dired.c
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/dired.c	Fri Mar 14 17:14:09 2008 +0000
+++ b/src/dired.c	Fri Mar 14 17:30:35 2008 +0000
@@ -1021,7 +1021,17 @@
   values[9] = (gid != getegid ()) ? Qt : Qnil;
 #endif	/* BSD4_2 (or BSD4_3) */
   /* Shut up GCC warnings in FIXNUM_OVERFLOW_P below.  */
+#ifdef WINDOWSNT
+  {
+    /* The bit-shuffling we do in w32.c:stat can turn on the MSB, which
+       will produce negative inode numbers.  People don't like that, so
+       force a positive inode instead.  */
+    unsigned short tem = s.st_ino;
+    ino = tem;
+  }
+#else
   ino = s.st_ino;
+#endif
   if (FIXNUM_OVERFLOW_P (ino))
     /* To allow inode numbers larger than VALBITS, separate the bottom
        16 bits.  */