From 76118f10b098e0cf03050b277401b8646dce5706 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 1 Jun 2011 23:21:13 -0700 Subject: [PATCH] * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. --- src/ChangeLog | 2 ++ src/dired.c | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 708e08135be..44c9db28d58 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ 2011-06-02 Paul Eggert + * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. + * lisp.h: Include , as it'll useful in later changes. * character.c, data.c, editfns.c, insdel.c, intervals.c: Don't include , since lisp.h does. diff --git a/src/dired.c b/src/dired.c index 60d7bc64974..1e587353f6d 100644 --- a/src/dired.c +++ b/src/dired.c @@ -1013,12 +1013,11 @@ so last access time will always be midnight of that day. */) The code on the next line avoids a compiler warning on systems where st_ino is 32 bit wide. (bug#766). */ EMACS_INT high_ino = s.st_ino >> 31 >> 1; - EMACS_INT low_ino = s.st_ino & 0xffffffff; values[10] = Fcons (make_number (high_ino >> 8), Fcons (make_number (((high_ino & 0xff) << 16) - + (low_ino >> 16)), - make_number (low_ino & 0xffff))); + + (s.st_ino >> 16 & 0xffff)), + make_number (s.st_ino & 0xffff))); } /* Likewise for device. */ -- 2.39.2