> On NetBSD and macOS, lseek(2) on a tty succeeds: > if (lseek(STDIN_FILENO, 0, SEEK_CUR) == -1 )
> On Linux, this fails. > I'm trying to think of why seeking on a terminal would make sense. > Anybody have an idea? Quoting from lseek(2) on a handy machine: Some devices are incapable of seeking. The value of the pointer associated with such a device is undefined. So I'm guessing it depends on whether you think of adding something to an undefined value makes sense. To me, it does; the resulting value is undefined, but the seek pointer is undefined anyway. Also, I'd argue that lseek(,0,SEEK_CUR) makes sense on any descriptor, since it's not trying to change anything. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B