From 95954ad5832e2dcc5709401643e615612281fc88 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Wed, 25 Oct 2006 11:47:06 +0200 Subject: Portability to Tru64 V4.0. * src/system.h (ftello) [!HAVE_FSEEKO && !defined ftello]: Define inline replacement function. This (along with a yesterday's fix for autoconf's _AC_SYS_LARGEFILE_MACRO_VALUE macro) makes it so coreutils now builds once more on Tru64 V4.0. Reported by Nelson Beebe. --- ChangeLog | 9 +++++++++ src/system.h | 24 ++++++++++++++++++++---- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 195ca75ef..2ee39fe7e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2006-10-25 Jim Meyering + + Portability to Tru64 V4.0. + * src/system.h (ftello) [!HAVE_FSEEKO && !defined ftello]: + Define inline replacement function. + This (along with a yesterday's fix for autoconf's + _AC_SYS_LARGEFILE_MACRO_VALUE macro) makes it so coreutils + now builds once more on Tru64 V4.0. Reported by Nelson Beebe. + 2006-10-25 Bruno Haible * src/cat.c (infile): Add "const" to declaration. diff --git a/src/system.h b/src/system.h index 87a379e22..efe929098 100644 --- a/src/system.h +++ b/src/system.h @@ -515,10 +515,26 @@ enum # define EOVERFLOW EINVAL #endif -#if ! HAVE_FSEEKO && ! defined fseeko -# define fseeko(s, o, w) ((o) == (long int) (o) \ - ? fseek (s, o, w) \ - : (errno = EOVERFLOW, -1)) +#if ! HAVE_FSEEKO +# if ! defined fseeko +# define fseeko(s, o, w) ((o) == (long int) (o) \ + ? fseek (s, o, w) \ + : (errno = EOVERFLOW, -1)) +# endif +# if ! defined ftello +static inline off_t ftello (FILE *stream) +{ + off_t off = ftell (stream); + if (off < 0) + return off; + if (off != (long int) off) + { + errno = EOVERFLOW; + return -1; + } + return off; +} +# endif #endif #if ! HAVE_SYNC -- cgit v1.2.3-54-g00ecf