mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-16 01:22:18 +03:00
35 lines
1.1 KiB
Plaintext
35 lines
1.1 KiB
Plaintext
@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 9, 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
|