lseek() fails to seek on /dev/fd0 ('\\.\A:')
Egor Duda
deo@logos-m.ru
Mon Feb 26 05:03:00 GMT 2001
Hi!
Monday, 26 February, 2001 Jesper Eskilson jojo@virtutech.se wrote:
JE> However, this was not the error I was really trying to fix (the real
JE> program passed the parameters in the correct order). The real problem was
JE> that lseek() fails when doing SEEK_END on a raw device. On Linux and
JE> Solaris, lseek() return 0 when doing SEEK_END on raw devices.
Single Unix Specification v2 states that "The behaviour of lseek() on
devices which are incapable of seeking is implementation-dependent.
The value of the file offset associated with such a device is
undefined." and
" The lseek() function will fail if:
...
[EINVAL]
The whence argument is not a proper value, or the resulting file offset
would be invalid.
...
"
Win32 API doesn't allow seeking from the end of floppy devices,
so i think it's pretty reasonable for cygwin to return -1
with errno==EINVAL in this case.
Anyway, if we decide to be linux- and solaris- compatible here, the
patch would be trivial.
Egor. mailto:deo@logos-m.ru ICQ 5165414 FidoNet 2:5020/496.19
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list