easy way to determine if a stream or fd is seekable

Alexander Best arundel at freebsd.org
Wed Nov 16 13:14:28 UTC 2011


On Wed Nov 16 11, Joerg Sonnenberger wrote:
> On Tue, Nov 15, 2011 at 08:24:50PM +0000, Alexander Best wrote:
> > one of the things i'm missing is an easy way to determine, whether a stream or
> > fd is seekable. i checked the dd(1) and hd(1) sources and those tools are
> > performing so much stuff just to find out if this is the case, and they still
> > are doing a very poor job.
> 
> Isn't the primary issue that FreeBSD doesn't properly report errors for
> lseek(2)? I think you should start from that and not hack around the
> fallout...

what do you mean? lseek(2) returns -1, when the file descriptor is not
seekable. i fired lseek(2) at all sorts of file types (dir, sockets, ...)
and it always returned the correct result.

cheers.
alex

> 
> Joerg


More information about the freebsd-hackers mailing list