Mercurial > hg > xemacs-beta
diff src/dired.c @ 5727:86d33ddc7fd6
Avoid EOVERFLOW from stat() calls due to overflowing inode numbers.
The btrfs filesystem now uses 64-bit inode numbers even on 32-bit systems.
This can lead to spurious stat() failures, where EOVERFLOW is returned because
the inode number does not fit into the 32-bit stat structure, even when the
caller is not interested in the inode number. This patch builds with
_FILE_OFFSET_BITS == 64 when possible, and deals with integers that may be
too large to fit into a Lisp fixnum. For more information, see xemacs-patches
message <CAHCOHQk_mPM6WgFChBsGafqhuazep6VED7swFoqfFXOV1r8org@mail.gmail.com>.
author | Jerry James <james@xemacs.org> |
---|---|
date | Wed, 06 Mar 2013 08:32:17 -0700 |
parents | 56144c8593a8 |
children | c30fdcab7bc8 |
line wrap: on
line diff
--- a/src/dired.c Tue Mar 05 08:55:56 2013 +0100 +++ b/src/dired.c Wed Mar 06 08:32:17 2013 -0700 @@ -927,17 +927,17 @@ RETURN_UNGCPRO (listn (12, mode, - make_fixnum (s.st_nlink), - make_fixnum (s.st_uid), - make_fixnum (s.st_gid), + make_integer (s.st_nlink), + make_integer (s.st_uid), + make_integer (s.st_gid), make_time (s.st_atime), make_time (s.st_mtime), make_time (s.st_ctime), size, modestring, gid, - make_fixnum (s.st_ino), - make_fixnum (s.st_dev))); + make_integer (s.st_ino), + make_integer (s.st_dev))); }