]> code.delx.au - gnu-emacs/commitdiff
* dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits.
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 2 Jun 2011 06:21:13 +0000 (23:21 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 2 Jun 2011 06:21:13 +0000 (23:21 -0700)
src/ChangeLog
src/dired.c

index 708e08135bef77be359a401350d87cc231b16b86..44c9db28d5896179b9f701932e8326fc3116f373 100644 (file)
@@ -1,5 +1,7 @@
 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * dired.c (Ffile_attributes): Don't assume EMACS_INT has >32 bits.
+
        * lisp.h: Include <intprops.h>, as it'll useful in later changes.
        * character.c, data.c, editfns.c, insdel.c, intervals.c:
        Don't include <intprops.h>, since lisp.h does.
index 60d7bc64974a4e9c55774c6cd2c047d49199c643..1e587353f6d61d1d1a77718560767c5fe776991c 100644 (file)
@@ -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.  */