view doc/posix-functions/lseek.texi @ 40139:3bacbf659cc9

ttyname_r: Work around bug on Android 4.3. * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub. * lib/ttyname_r.c (ttyname_r): Implement for Android. * doc/posix-functions/ttyname_r.texi: Mention the Android bug. * doc/posix-functions/ttyname.texi: Likewise.
author Bruno Haible <bruno@clisp.org>
date Sat, 26 Jan 2019 11:56:31 +0100
parents b8576602c861
children
line wrap: on
line source

@node lseek
@section @code{lseek}
@findex lseek

POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/lseek.html}

Gnulib module: lseek

Portability problems fixed by Gnulib:
@itemize
@item
On platforms where @code{off_t} is a 32-bit type, @code{lseek} does not work
correctly with files larger than 2 GB.  (Cf. @code{AC_SYS_LARGEFILE}.)
@item
This function mistakenly succeeds on pipes on some platforms: mingw, MSVC 14, BeOS.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
POSIX does not specify which file descriptors support seeking and which don't.
In practice, regular files and block devices support seeking, and ttys, pipes,
and most character devices don't support it.
@item
When the third argument is invalid, POSIX says that @code{lseek} should set
@code{errno} to @code{EINVAL} and return @minus{}1, but in this situation a
@code{SIGSYS} signal is raised on some platforms:
IRIX 6.5.
@item
When the @code{lseek} function fails, POSIX says that the file offset remains
unchanged.  But on some platforms, attempting to set a negative file offset
fails and sets the file offset to 0:
BeOS.
@end itemize