Mercurial > emacs
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); }