From: Paul Eggert Date: Mon, 6 Jun 2011 05:55:38 +0000 (-0700) Subject: * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. X-Git-Tag: emacs-pretest-24.0.90~104^2~618^2~10^2~6 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=dfe18f824fd582350f8a55e402f210b40ab74083;p=emacs.git * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. --- diff --git a/src/ChangeLog b/src/ChangeLog index 9f54dcc3bc5..4269bf4655b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ 2011-06-06 Paul Eggert + * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits. + Don't assume time_t can fit into int. * buffer.h (struct buffer.modtime): Now time_t, not int. * fileio.c (Fvisited_file_modtime): No need for time_t cast now. 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. */