Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Tue, 27 Feb 2001 12:05:58 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: lseek() fails to seek on /dev/fd0 ('\\.\A:') Message-ID: <20010227120558.E27406@cygbert.vinschen.de> Mail-Followup-To: cygwin AT cygwin DOT com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from jojo@virtutech.se on Mon, Feb 26, 2001 at 01:03:29PM +0100 On Mon, Feb 26, 2001 at 01:03:29PM +0100, Jesper Eskilson wrote: > Jesper Eskilson writes: > > > Why is it ok to seek to 0 bytes and 1 byte, but not 2? > > The test-program passed parameters in the wrong order, the correct order is > > lseek(fd, pos, whence) > > However, this was not the error I was really trying to fix (the real > program passed the parameters in the correct order). The real problem was > that lseek() fails when doing SEEK_END on a raw device. On Linux and > Solaris, lseek() return 0 when doing SEEK_END on raw devices. I just checked on Linux. It returns 0 when offset is 0. otherwise it returns -1. The difference between file and device is that the return value is 0 on the raw drive and > 0 on the file. I could check in an appropriate patch which is easy but I want to discuss this on cygwin-patches first. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc. -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple