lseek
=====

POSIX specification: http://www.opengroup.org/susv3xsh/lseek.html

Gnulib module: lseek

Portability problems fixed by Gnulib:

  * This function mistakenly succeeds on pipes on some platforms: mingw, BeOS.

Portability problems not fixed by Gnulib:

  * 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.

  * On platforms where off_t is a 32-bit type, lseek does not work correctly with files larger than 2 GB.  The fix is to use the AC_SYS_LARGEFILE macro.

  * When the third argument is invalid, POSIX says that lseek should set errno to EINVAL and return -1, but in this situation a SIGSYS signal is raised on some platforms: IRIX 6.5.

  * When the 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.