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