This is the mail archive of the
cygwin@sources.redhat.com
mailing list for the Cygwin project.
Re: Two snapshot bugs
- To: "'cygwin at sources dot redhat dot com'" <cygwin at sources dot redhat dot com>
- Subject: Re: Two snapshot bugs
- From: Chris Faylor <cgf at cygnus dot com>
- Date: Tue, 10 Oct 2000 14:05:43 -0400
- References: <779F20BCCE5AD31186A50008C75D99791717B3@silldn_mail1.sanwaint.com>
- Reply-To: cygwin at sources dot redhat dot com
On Tue, Oct 10, 2000 at 06:08:53PM +0100, Fifer, Eric wrote:
>+ getcwd() seems to be busted:
>
> #include <stdio.h>
> main() { printf("getcwd=%s\n", getcwd(NULL, 0)); }
>
> produces:
>
> getcwd=(null)
In any description of getcwd that I"ve found, specifying '0' as the size
means that you allocate a zero length buffer.
The linux man page says this:
As an extension to the POSIX.1 standard, getcwd() allo-
cates the buffer dynamically using malloc() if buf is NULL
on call. In this case, the allocated buffer has the
length size unless size is less than zero, when buf is
allocated as big as necessary. It is possible (and,
indeed, advisable) to free() the buffers if they have been
obtained this way.
So 'getcwd (NULL, -1)' should return something but 'getcwd (NULL, 0)', IMO,
should not.
cgf
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com