"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "lib/fseeko.c" between
gcal-4.tar.gz and gcal-4.1.tar.gz

About: Gcal displays month/year calendar sheets, eternal holiday and fixed date lists in many ways.

fseeko.c  (gcal-4):fseeko.c  (gcal-4.1)
/* An fseeko() function that, together with fflush(), is POSIX compliant. /* An fseeko() function that, together with fflush(), is POSIX compliant.
Copyright (C) 2007-2015 Free Software Foundation, Inc. Copyright (C) 2007-2017 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
skipping to change at line 55 skipping to change at line 55
if (lseek (fileno (fp), 0, SEEK_CUR) == -1) if (lseek (fileno (fp), 0, SEEK_CUR) == -1)
return EOF; return EOF;
#endif #endif
/* These tests are based on fpurge.c. */ /* These tests are based on fpurge.c. */
#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, L inux libc5 */ #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, L inux libc5 */
if (fp->_IO_read_end == fp->_IO_read_ptr if (fp->_IO_read_end == fp->_IO_read_ptr
&& fp->_IO_write_ptr == fp->_IO_write_base && fp->_IO_write_ptr == fp->_IO_write_base
&& fp->_IO_save_base == NULL) && fp->_IO_save_base == NULL)
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android */
# if defined __SL64 && defined __SCLE /* Cygwin */ # if defined __SL64 && defined __SCLE /* Cygwin */
if ((fp->_flags & __SL64) == 0) if ((fp->_flags & __SL64) == 0)
{ {
/* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit /* Cygwin 1.5.0 through 1.5.24 failed to open stdin in 64-bit
mode; but has an fseeko that requires 64-bit mode. */ mode; but has an fseeko that requires 64-bit mode. */
FILE *tmp = fopen ("/dev/null", "r"); FILE *tmp = fopen ("/dev/null", "r");
if (!tmp) if (!tmp)
return -1; return -1;
fp->_flags |= __SL64; fp->_flags |= __SL64;
fp->_seek64 = tmp->_seek64; fp->_seek64 = tmp->_seek64;
skipping to change at line 83 skipping to change at line 83
: 0) : 0)
&& fp_ub._base == NULL) && fp_ub._base == NULL)
#elif defined __EMX__ /* emx+gcc */ #elif defined __EMX__ /* emx+gcc */
if (fp->_ptr == fp->_buffer if (fp->_ptr == fp->_buffer
&& fp->_rcount == 0 && fp->_rcount == 0
&& fp->_wcount == 0 && fp->_wcount == 0
&& fp->_ungetc_count == 0) && fp->_ungetc_count == 0)
#elif defined __minix /* Minix */ #elif defined __minix /* Minix */
if (fp_->_ptr == fp_->_buf if (fp_->_ptr == fp_->_buf
&& (fp_->_ptr == NULL || fp_->_count == 0)) && (fp_->_ptr == NULL || fp_->_count == 0))
#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenSer ver, mingw, NonStop Kernel */ #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenSer ver, mingw, MSVC, NonStop Kernel */
if (fp_->_ptr == fp_->_base if (fp_->_ptr == fp_->_base
&& (fp_->_ptr == NULL || fp_->_cnt == 0)) && (fp_->_ptr == NULL || fp_->_cnt == 0))
#elif defined __UCLIBC__ /* uClibc */ #elif defined __UCLIBC__ /* uClibc */
if (((fp->__modeflags & __FLAG_WRITING) == 0 if (((fp->__modeflags & __FLAG_WRITING) == 0
|| fp->__bufpos == fp->__bufstart) || fp->__bufpos == fp->__bufstart)
&& ((fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) == 0 && ((fp->__modeflags & (__FLAG_READONLY | __FLAG_READING)) == 0
|| fp->__bufpos == fp->__bufread)) || fp->__bufpos == fp->__bufread))
#elif defined __QNX__ /* QNX */ #elif defined __QNX__ /* QNX */
if ((fp->_Mode & 0x2000 /* _MWRITE */ ? fp->_Next == fp->_Buf : fp->_Next == f p->_Rend) if ((fp->_Mode & 0x2000 /* _MWRITE */ ? fp->_Next == fp->_Buf : fp->_Next == f p->_Rend)
&& fp->_Rback == fp->_Back + sizeof (fp->_Back) && fp->_Rback == fp->_Back + sizeof (fp->_Back)
skipping to change at line 120 skipping to change at line 120
#error "Please port gnulib fseeko.c to your platform! Look at the code in fsee ko.c, then report this to bug-gnulib." #error "Please port gnulib fseeko.c to your platform! Look at the code in fsee ko.c, then report this to bug-gnulib."
#endif #endif
{ {
/* We get here when an fflush() call immediately preceded this one (or /* We get here when an fflush() call immediately preceded this one (or
if ftell() has created buffers but no I/O has occurred on a if ftell() has created buffers but no I/O has occurred on a
newly-opened stream). We know there are no buffers. */ newly-opened stream). We know there are no buffers. */
off_t pos = lseek (fileno (fp), offset, whence); off_t pos = lseek (fileno (fp), offset, whence);
if (pos == -1) if (pos == -1)
{ {
#if defined __sferror || defined __DragonFly__ || defined __ANDROID__ #if defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, And roid */
fp_->_flags &= ~__SOFF; fp_->_flags &= ~__SOFF;
#endif #endif
return -1; return -1;
} }
#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, L inux libc5 */ #if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, L inux libc5 */
fp->_flags &= ~_IO_EOF_SEEN; fp->_flags &= ~_IO_EOF_SEEN;
fp->_offset = pos; fp->_offset = pos;
#elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
/* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Minix 3, Android
# if defined __CYGWIN__ || (defined __NetBSD__ && __NetBSD_Version__ >= 60000000 */
0) # if defined __CYGWIN__ || (defined __NetBSD__ && __NetBSD_Version__ >= 60000000
0) || defined __minix
/* fp_->_offset is typed as an integer. */ /* fp_->_offset is typed as an integer. */
fp_->_offset = pos; fp_->_offset = pos;
# else # else
/* fp_->_offset is an fpos_t. */ /* fp_->_offset is an fpos_t. */
{ {
/* Use a union, since on NetBSD, the compilation flags /* Use a union, since on NetBSD, the compilation flags
determine whether fpos_t is typedef'd to off_t or a struct determine whether fpos_t is typedef'd to off_t or a struct
containing a single off_t member. */ containing a single off_t member. */
union union
{ {
skipping to change at line 153 skipping to change at line 153
off_t o; off_t o;
} u; } u;
u.o = pos; u.o = pos;
fp_->_offset = u.f; fp_->_offset = u.f;
} }
# endif # endif
fp_->_flags |= __SOFF; fp_->_flags |= __SOFF;
fp_->_flags &= ~__SEOF; fp_->_flags &= ~__SEOF;
#elif defined __EMX__ /* emx+gcc */ #elif defined __EMX__ /* emx+gcc */
fp->_flags &= ~_IOEOF; fp->_flags &= ~_IOEOF;
#elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenSer #elif defined _IOERR /* AIX, HP-UX, IRIX, OSF/1, Solaris, OpenSer
ver, mingw, NonStop Kernel */ ver, mingw, MSVC, NonStop Kernel */
fp->_flag &= ~_IOEOF; fp_->_flag &= ~_IOEOF;
#elif defined __MINT__ /* Atari FreeMiNT */ #elif defined __MINT__ /* Atari FreeMiNT */
fp->__offset = pos; fp->__offset = pos;
fp->__eof = 0; fp->__eof = 0;
#endif #endif
return 0; return 0;
} }
return fseeko (fp, offset, whence); return fseeko (fp, offset, whence);
} }
 End of changes. 6 change blocks. 
10 lines changed or deleted 11 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS