30 Commits
Author SHA1 Message Date
Bruno Haible fd5ca53763 Improve cross-compilation guesses for native Windows.
* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
native Windows.
(gl_FUNC_FFLUSH): Update accordingly.
* m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
* m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
2017-07-13 19:42:10 +02:00
Paul Eggert a3fd683de3 version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
2017-01-01 02:59:23 +00:00
Paul Eggert 71090a2a31 version-etc: new year
* build-aux/gendocs.sh (version):
* doc/gendocs_template:
* doc/gendocs_template_min:
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR):
Update copyright dates by hand in templates and the like.
* all files: Run 'make update-copyright'.
2016-01-01 00:57:21 -08:00
Paul Eggert b9bfe78424 version-etc: new year
* doc/gnulib.texi:
* lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
* all files: Run 'make update-copyright'.
2014-12-31 17:47:54 -08:00
Eric Blake 1276a2c5f2 maint: update copyright
I ran 'make update-copyright'.

Signed-off-by: Eric Blake <eblake@redhat.com>
2014-01-01 00:07:10 -07:00
Paul Eggert f4c1d34053 fflush, fseeko: port to musl cross-compiles
* lib/fseeko.c (fseeko): Assume that fflushing stdin works if
on some implementation that (1) is not known to be buggy,
(2) claims conformance to POSIX.1-2008 or later, and (3) is being
cross-compiled to so we can't easily check for lack of
conformance.  This is for cross-compiling to musl.
Reported by Rich Felker in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
* m4/fclose.m4 (gl_FUNC_FCLOSE):
* m4/fflush.m4 (gl_FUNC_FFLUSH):
* m4/fseeko.m4 (gl_FUNC_FSEEKO):
Adjust to above change.
* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
known not to work, or unknown.
2013-06-18 13:07:28 -07:00
Eric Blake 9fc81090f6 maint: update all copyright year number ranges
Run "make update-copyright".  Compare to commit 1602f0a from last year.

Signed-off-by: Eric Blake <eblake@redhat.com>
2013-01-01 00:50:58 +00:00
Bruno Haible 3f3d9b41ce Large File Support for native Windows platforms.
* m4/largefile.m4 (gl_LARGEFILE): New macro.
* modules/largefile (configure.ac): Require gl_LARGEFILE.

* lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
type.
* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
* modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
* doc/posix-headers/sys_types.texi: Mention the effect of the
'largefile' module.

* lib/fcntl.in.h: Add comments about off_t.
* modules/fcntl-h (Depends-on): Add sys_types.

* lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
(ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
* m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
(gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
* modules/unistd (Depends-on): Add sys_types.
(Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.

* lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
instead of lseek.
* m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
* modules/lseek (Depends-on): Add sys_types.

* lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
msvc-nothrow.h.
(SetFileSize): New function.
(ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
if Large File Support is requested.
* modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
(Depends-on): Add sys_types, msvc-nothrow. Update conditions.

* lib/stdio.in.h: Add comments about off_t.
* modules/stdio (Depends-on): Add sys_types.

* lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
instead of ftello.
* m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
(gl_PREREQ_FTELLO): New macro.
* modules/ftello (Depends-on): Add sys_types.
(configure.ac): Incoke gl_PREREQ_FTELLO.

* lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
instead of fseeko.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
(gl_PREREQ_FSEEKO): New macro.
* modules/fseeko (Depends-on): Add sys_types.
(configure.ac): Invoke gl_PREREQ_FSEEKO.

* lib/sys_stat.in.h: Add comments about off_t.
(stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
64-bit integer for st_size in 'struct stat'.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
Define _GL_WINDOWS_64_BIT_ST_SIZE.
* modules/sys_stat (Depends-on): Add sys_types.
(Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.

* lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
instead of stat or _stat.

* lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
'struct _stati64' instead of fstat and 'struct stat'.
* m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.

Reported by Ray Satiro <raysatiro@yahoo.com>.
2012-04-21 11:45:29 +02:00
Jim Meyering 1602f0afed maint: update all copyright year number ranges
Run "make update-copyright".
2012-01-01 10:04:58 +01:00
Bruno Haible 960ca7460b fseeko: Simplify.
* m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
(gl_FUNC_FSEEKO): Inline it here.
2011-06-13 13:05:48 +02:00
Bruno Haible a3a01d04e0 fseek: Respect rules for use of AC_LIBOBJ.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
here...
* m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
2011-06-13 13:05:47 +02:00
Bruno Haible 4339de4d67 fseeko: Respect rules for use of AC_LIBOBJ.
* m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
(gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
here...
* modules/fseeko (configure.ac): ... to here.
2011-06-13 13:05:46 +02:00
Bruno Haible 5d9f4218b6 fflush, fseeko: Respect rules for use of AC_LIBOBJ.
* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
gl_FUNC_FFLUSH.
(gl_FUNC_FFLUSH): Use it.
(gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
gl_REPLACE_FSEEKO here.
2011-05-06 00:23:55 +02:00
Paul Eggert 7a228db08c stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
* m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
* m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
* modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
2011-02-28 15:10:55 -08:00
Jim Meyering d60f3b0c6b maint: update almost all copyright ranges to include 2011
Run the new "make update-copyright" rule.
2011-01-01 22:12:59 +01:00
Bruno Haible 7bdfdfca8d fseeko: Add missing declaration on OSF/1 5.1.
* lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
* modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
* doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
2010-12-19 14:53:15 +01:00
Bruno Haible 2aeeb6a1f0 fseeko: Fix C++ test error on mingw. 2010-04-05 18:18:11 +02:00
Bruno Haible 7434004b10 fseeko: Fix C++ test error on mingw. 2010-04-03 15:04:15 +02:00
Jim Meyering b2e2010c7c update nearly all FSF copyright year lists to include 2010
Use the same procedure as for 2009, outlined in
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
2010-01-01 10:42:00 +01:00
Eric Blake 7bfa0dd93f stdio: remove unused variables
Leftovers from 2007-05-24, commit e461ff7387.

* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
* m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-12-29 21:42:02 -07:00
Bruno Haible 441aa3044f Use spaces for indentation, not tabs. 2009-12-10 20:28:30 +01:00
Eric Blake 77a9c05de8 fseeko: fix m4 regression
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
regression from 2009-10-27.
Reported by Ralf Wildenhues.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-10-31 07:25:31 -06:00
Eric Blake 5abb9c9cbc fseek: avoid compilation failure when fflush is replaced
./gnulib-tool --import fseek fwritable failed on Debian, due
to broken fflush() pulling in rpl_fseeko that mistakenly
overwrote fseek() as function-like macro.

* m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
* m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
module is in use.
* lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
module is not in use; since REPLACE_FSEEK worked otherwise.
(GNULIB_FTELLO): Likewise for ftell.
Reported by Ian Beckwith and others.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-10-27 18:49:20 -06:00
Bruno Haible 8e9b35958c Ensure that fseeko is declared when possible. 2008-03-06 23:19:33 +01:00
Eric Blake e461ff7387 Fix lseek on mingw.
* modules/lseek: New module.
* m4/lseek.m4: New file.
* lib/lseek.c: New file.
* modules/lseek-tests: New file.
* tests/test-lseek.c: New file.
* tests/test-lseek.sh: New file.
* MODULES.html.sh: Document lseek module.
* modules/fflush (Depends-on): Add lseek, fseeko.
* modules/fseeko (Depends-on): Likewise.
* modules/ftello (Depends-on): Likewise.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
broken.
* m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
broken.
* m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
* lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
* lib/ftello.c (rpl_ftello): Likewise.
* tests/test-fseeko.c (main): Test this.
* tests/test-fseeko.sh: Likewise.
* tests/test-ftello.c (main): Likewise.
* tests/test-ftello.sh: Likewise.
* lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
implies replacing fseek.
* modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
HAVE_FTELLO.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
* modules/unistd (Makefile.am): Likewise.
* lib/unistd_.h (lseek): Declare a replacement.
* doc/functions/lseek.texi (lseek): Document this fix.
* doc/functions/fseek.texi (fseek): Likewise.
* doc/functions/ftell.texi (ftell): Likewise.
2007-05-24 16:59:20 +00:00
Bruno Haible 1c01610fe4 Untabify. 2007-05-24 09:44:51 +00:00
Eric Blake cec93e99d1 Fix fseeko/ftello on cygwin 1.5.24.
* doc/functions/fseeko.texi (fseeko): Document the fix.
* doc/functions/ftello.texi (ftello): Document the fix.
* doc/functions/stdin.texi (stdin): Document the cygwin bug.
* doc/functions/stdout.text (stdout): New file.
* doc/functions/stderr.text (stderr): New file.
* doc/gnulib.texi (Function Substitutes): Use new files.
* tests/test-fseeko.c (main): Check for broken fseeko on cygwin
prior to 1.7.0.
* tests/test-ftello.c (main): Likewise for ftello.
* tests/test-fseeko.sh: New file.
* tests/test-ftello.sh: New file.
* modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
with seekable stdin.
* modules/ftello-tests (Makefile.am): Likewise for test-ftello.
* m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
(gl_REPLACE_FSEEKO): New macro.
* m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
* modules/fseeko (Files): Distribute fseeko.c.
* modules/ftello (Files): Distribute ftello.c.
* lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
mode.
* lib/ftello.c (rpl_ftello): New file.
* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
fseeko, ftello.
(gl_STDIN_LARGE_OFFSET): New macro.
* modules/stdio (Makefile.am): Perform the replacement.
* lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
2007-05-24 03:53:37 +00:00
Bruno Haible 5905a848a7 Ensure fseeko and ftello are declared on glibc systems. 2007-04-26 09:33:12 +00:00
Bruno Haible 1633289566 Make the combination of fflush and fseek/fseeko POSIX compliant. 2007-04-25 09:14:49 +00:00
Bruno Haible 8d63435075 New module 'fseeko'. 2007-04-25 07:39:55 +00:00