# HG changeset patch # User Richard M. Stallman # Date 864008246 0 # Node ID bc2cf7c40435293d5edba9caa187d96481d09dfe # Parent 4b87104dcbc7338d4525fa03c2d5b2c4d0ef0b5d (Ffile_attributes): Return inode number as a cons only if necessary. diff -r 4b87104dcbc7 -r bc2cf7c40435 src/dired.c --- 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); }