(Ffile_attributes): Represent inode number as a pair of
authorRichard M. Stallman <rms@gnu.org>
Thu, 7 Nov 1996 05:46:56 +0000 (05:46 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 7 Nov 1996 05:46:56 +0000 (05:46 +0000)
integers in case inode numbers do not fit in a Lisp integer.

src/dired.c

index 1e7c9a8..844c006 100644 (file)
@@ -684,7 +684,14 @@ If file does not exist, returns nil.")
 #ifdef BSD4_3
 #undef BSD4_2 /* ok, you can look again without throwing up */
 #endif
+#if 1
+  /* To allow inode numbers larger than VALBITS, separate the bottom
+     16 bits.  */
+  values[10] = Fcons (make_number (s.st_ino >> 16),
+                     make_number (s.st_ino & 0xffff));
+#else
   values[10] = make_number (s.st_ino);
+#endif
   values[11] = make_number (s.st_dev);
   return Flist (sizeof(values) / sizeof(values[0]), values);
 }