]> git.eshelyaron.com Git - emacs.git/commitdiff
(Ffile_attributes): Return inode number as a cons only if necessary.
authorRichard M. Stallman <rms@gnu.org>
Mon, 19 May 1997 02:17:26 +0000 (02:17 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 19 May 1997 02:17:26 +0000 (02:17 +0000)
src/dired.c

index a10e94931f0ddca55ed26cf36921364e54692950..ea0624dd535c29b22f37de523ab78c54b3ab3591 100644 (file)
@@ -685,14 +685,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
+  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);
 }