Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getcwd(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

malloc(3C)

getcwd(3C)                                                       getcwd(3C)

NAME
     getcwd - get pathname of current working directory

SYNOPSIS
     #include <unistd.h>

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

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

     If buf is not NULL, the pathname will be stored in the space pointed
     to by buf.

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

     getcwd() will fail if one or more of the following are true:

     EACCES    A parent directory cannot be read to get its name.

     EINVAL    size is equal to 0.

     ERANGE    size is less than 0 or is greater than 0 and less than the
               length of the pathname plus 1.

EXAMPLE
     Here is a program that prints the current working directory.

     #include <unistd.h>
     #include <stdio.h>

     main()
     {
           char *cwd;
           if ((cwd = getcwd(NULL, 64)) == NULL)
           {
                   perror("pwd");
                   exit(2);
           }
           (void)printf("%s\n", cwd);
           return(0);
     }

RESULT
     Returns NULL with errno set if size is not large enough, or if an
     error occurs in a lower-level function.





Page 1                       Reliant UNIX 5.44                Printed 11/98

getcwd(3C)                                                       getcwd(3C)

SEE ALSO
     malloc(3C).




















































Page 2                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026