comparison src/config.h.in @ 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 10455659ab64
children 4521c9dc64f6
comparison
equal deleted inserted replaced
5726:179f4a9201b5 5727:86d33ddc7fd6
755 #undef SIZEOF_INT 755 #undef SIZEOF_INT
756 #undef SIZEOF_LONG 756 #undef SIZEOF_LONG
757 #undef SIZEOF_LONG_LONG 757 #undef SIZEOF_LONG_LONG
758 #undef SIZEOF_VOID_P 758 #undef SIZEOF_VOID_P
759 #undef SIZEOF_DOUBLE 759 #undef SIZEOF_DOUBLE
760 #undef SIZEOF_OFF_T
761
762 /* Large file support */
763 #undef AC_FUNC_FSEEKO
764 #ifdef AC_FUNC_FSEEKO
765 # define OFF_T off_t
766 # define FSEEK(stream, offset, whence) fseeko (stream, offset, whence)
767 # define FTELL(stream) ftello (stream)
768 #else
769 # define OFF_T long
770 # define FSEEK(stream, offset, whence) fseek (stream, offset, whence)
771 # define FTELL(stream) ftell (stream)
772 #endif
760 773
761 /* some systems (Cygwin) typedef u?intptr_t in <sys/types.h> 774 /* some systems (Cygwin) typedef u?intptr_t in <sys/types.h>
762 but the standard is <inttypes.h> 775 but the standard is <inttypes.h>
763 ugliness due to last-resort conditional typedef'ing in lisp.h */ 776 ugliness due to last-resort conditional typedef'ing in lisp.h */
764 #undef HAVE_INTPTR_T_IN_SYS_TYPES_H 777 #undef HAVE_INTPTR_T_IN_SYS_TYPES_H