unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Page:
Section:
Apropos / Subsearch:
optional field

GETCWD(3V)                                                          GETCWD(3V)



NAME
       getcwd - get pathname of current working directory

SYNOPSIS
       char *getcwd(buf, size)
       char *buf;
       int size;

DESCRIPTION
       getcwd()  returns  a  pointer  to  the current directory pathname.  The
       value of size must be at least two greater than the length of the path-
       name to be returned.

       If  buf  is  a  NULL  pointer, getcwd() will obtain size bytes of space
       using malloc(3V).  In this case, the pointer returned by  getcwd()  may
       be used as the argument in a subsequent call to free().

       The  function  is  implemented by using popen(3S) to pipe the output of
       the pwd(1) command into the specified string space.

RETURN VALUES
       getcwd() returns a pointer to the current directory  pathname  on  suc-
       cess.   If  size is not large enough, or if an error occurs in a lower-
       level function, getcwd() returns NULL and sets errno  to  indicate  the
       error.

ERRORS
       EINVAL         size is less than or equal to zero.

       ERANGE         size  is  greater  than  zero,  but  is smaller than the
                      length of the pathname plus 1.

       If the following condition is detected, getcwd() sets errno to:

       EACCES         Read or search permission is denied for a  component  of
                      the pathname.

EXAMPLES
              char *cwd, *getcwd();
              .
              .
              .
              if ((cwd = getcwd((char *)NULL, 64)) == NULL) {
                     perror ("pwd");
                     exit (1);
              }
              printf("%s\n", cwd);

SEE ALSO
       pwd(1), getwd(3), malloc(3V), popen(3S)

BUGS
       Since  this  function uses popen() to create a pipe to the pwd command,
       it is slower than getwd() and gives poorer error diagnostics.  getcwd()
       is provided only for compatibility with other UNIX operating systems.



                                21 January 1990                     GETCWD(3V)