delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2000/11/02/09:56:57

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <20001102144930.23956.qmail@web109.yahoomail.com>
Date: Thu, 2 Nov 2000 06:49:30 -0800 (PST)
From: Earnie Boyd <earnie_boyd AT yahoo DOT com>
Subject: Re: latest cygwin does not track pwd?
To: cygwin AT sources DOT redhat DOT com
MIME-Version: 1.0

--- Christopher Faylor <cgf AT redhat DOT com> wrote:
> On Wed, Nov 01, 2000 at 02:18:23PM -0500, Robinow, David wrote:
> >> It's definitely 'getcwd(NULL, 0)' in Chuck's sources.
> >  Also in 5.7.0 development sources. 
> >> I think I'll just revert the behavior.  It appears that a number of
> >> packages are expecting it.
> >  Is there a reason these packages can't be fixed?
> >  Is 'getcwd(NULL, -1)' broken in some version?
> 
> Not that I know of, but Corinna has pointed out that some versions of linux
> suggest that getcwd(NULL, 0) is ok and, possibly, BSD allows this
> construction.
> 
> So, I think we'll be constantly responding to this on the mailing list.  I'd
> rather just "fix" cygwin.
> 

The Linux man page is even less helpful.

Linux getcwd.3


NAME
       getcwd,  get_current_dir_name, getwd - Get current working
       directory

SYNOPSIS
       #include <unistd.h>

       char *getcwd(char *buf, size_t size);
       char *get_current_working_dir_name(void);
       char *getwd(char *buf);

DESCRIPTION
       The getcwd() function copies the absolute pathname of  the
       current  working directory to the array pointed to by buf,
       which is of length size.

       If the current absolute path name would require  a  buffer
       longer  than size elements, NULL is returned, and errno is
       set to ERANGE; an application should check for this error,
       and allocate a larger buffer if necessary.

       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.

       get_current_dir_name,   which   is   only   prototyped  if
       __USE_GNU is defined, will malloc(3) an array  big  enough
       to  hold  the  current directory name.  If the environment
       variable PWD is set, and its value is correct,  then  that
       value will be returned.

       getwd,  which  is only prototyped if __USE_BSD is defined,
       will malloc(3) an array big enough to  hold  the  absolute
       pathname of the current working directory.

RETURN VALUE
       NULL  on failure (for example, if the current directory is
       not readable), with errno set accordingly, and buf on suc-
       cess.

CONFORMS TO
       POSIX.1

SEE ALSO
       chdir(2), ,free(3), malloc(3)


=====
Earnie Boyd
mailto:earnie_boyd AT yahoo DOT com

---         <http://earniesystems.safeshopper.com>         ---
--- Cygwin: POSIX on Windows <http://gw32.freeyellow.com/> ---
---   Minimalist GNU for Windows <http://www.mingw.org/>   ---

__________________________________________________
Do You Yahoo!?
From homework help to love advice, Yahoo! Experts has your answer.
http://experts.yahoo.com/

--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019