annotate modules/ftruncate @ 16795:6a9ea5d7b466

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>.
author Bruno Haible <bruno@clisp.org>
date Sat, 14 Apr 2012 23:27:45 +0200
parents 402bb52d5f11
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4110
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
1 Description:
4172
5321105558d8 Add module descriptions.
Bruno Haible <bruno@clisp.org>
parents: 4110
diff changeset
2 ftruncate() function: truncate an open file to a specified length.
4110
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
4 Files:
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 lib/ftruncate.c
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
6 m4/ftruncate.m4
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
7
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8 Depends-on:
8199
51d32a83a7df Move more declarations into <unistd.h>.
Bruno Haible <bruno@clisp.org>
parents: 7497
diff changeset
9 unistd
16795
6a9ea5d7b466 Large File Support for native Windows platforms.
Bruno Haible <bruno@clisp.org>
parents: 15782
diff changeset
10 sys_types
15739
9f82d16d3139 ftruncate: Un-deprecate, concentrate on Win32 support.
Bruno Haible <bruno@clisp.org>
parents: 14950
diff changeset
11 largefile
16795
6a9ea5d7b466 Large File Support for native Windows platforms.
Bruno Haible <bruno@clisp.org>
parents: 15782
diff changeset
12 msvc-nothrow [test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1]
6a9ea5d7b466 Large File Support for native Windows platforms.
Bruno Haible <bruno@clisp.org>
parents: 15782
diff changeset
13 msvc-inval [test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1]
4110
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
14
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
15 configure.ac:
5016
7141ea4946af Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
Jim Meyering <jim@meyering.net>
parents: 4197
diff changeset
16 gl_FUNC_FTRUNCATE
16795
6a9ea5d7b466 Large File Support for native Windows platforms.
Bruno Haible <bruno@clisp.org>
parents: 15782
diff changeset
17 if test $HAVE_FTRUNCATE = 0 || test $REPLACE_FTRUNCATE = 1; then
14950
94995b9f1d9a ftruncate: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents: 13188
diff changeset
18 AC_LIBOBJ([ftruncate])
94995b9f1d9a ftruncate: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents: 13188
diff changeset
19 gl_PREREQ_FTRUNCATE
94995b9f1d9a ftruncate: Move AC_LIBOBJ invocations to module description.
Bruno Haible <bruno@clisp.org>
parents: 13188
diff changeset
20 fi
8199
51d32a83a7df Move more declarations into <unistd.h>.
Bruno Haible <bruno@clisp.org>
parents: 7497
diff changeset
21 gl_UNISTD_MODULE_INDICATOR([ftruncate])
4110
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
22
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
23 Makefile.am:
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
24
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
25 Include:
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
26 <unistd.h>
632b6cf5063f Module description.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
27
5251
42b53a22aee5 Add a license tag to every module.
Bruno Haible <bruno@clisp.org>
parents: 5016
diff changeset
28 License:
42b53a22aee5 Add a license tag to every module.
Bruno Haible <bruno@clisp.org>
parents: 5016
diff changeset
29 GPL
42b53a22aee5 Add a license tag to every module.
Bruno Haible <bruno@clisp.org>
parents: 5016
diff changeset
30
4197
3ccc6d0d52bb Add a Maintainer.
Bruno Haible <bruno@clisp.org>
parents: 4172
diff changeset
31 Maintainer:
3ccc6d0d52bb Add a Maintainer.
Bruno Haible <bruno@clisp.org>
parents: 4172
diff changeset
32 Jim Meyering