changeset 17868:bc2cf7c40435

(Ffile_attributes): Return inode number as a cons only if necessary.
author Richard M. Stallman <rms@gnu.org>
date Mon, 19 May 1997 02:17:26 +0000
parents 4b87104dcbc7
children a2fefbc6e46b
files src/dired.c
diffstat 1 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/dired.c	Mon May 19 01:05:13 1997 +0000
+++ b/src/dired.c	Mon May 19 02:17:26 1997 +0000
@@ -685,14 +685,14 @@
 #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
+  if (s.st_ino & ((-1) << VALBITS))
+    /* 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
+    /* But keep the most common cases as integers.  */
+    values[10] = make_number (s.st_ino);
   values[11] = make_number (s.st_dev);
   return Flist (sizeof(values) / sizeof(values[0]), values);
 }