The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> getwd - get the current working directory pathname (LEGACY)

#### SYNOPSIS

> ``[XSI] #include <unistd.h>
> char *getwd(char *`path_name`);``
> `
> `

#### DESCRIPTION

> The getwd() function shall determine an absolute pathname of the current working directory of the calling process, and copy a string containing that pathname into the array pointed to by the path_name argument.

> If the length of the pathname of the current working directory is greater than ({PATH_MAX}+1) including the null byte, getwd() shall fail and return a null pointer.

#### RETURN VALUE

> Upon successful completion, a pointer to the string containing the absolute pathname of the current working directory shall be returned. Otherwise, getwd() shall return a null pointer and the contents of the array pointed to by path_name are undefined.

#### ERRORS

> No errors are defined.

The following sections are informative.

#### EXAMPLES

> None.

#### APPLICATION USAGE

> For applications portability, the getcwd() function should be used to determine the current working directory instead of getwd().

#### RATIONALE

> Since the user cannot specify the length of the buffer passed to getwd(), use of this function is discouraged. The length of a pathname described in {PATH_MAX} is file system-dependent and may vary from one mount point to another, or might even be unlimited. It is possible to overflow this buffer in such a way as to cause applications to fail, or possible system security violations.

> It is recommended that the getcwd() function should be used to determine the current working directory.

#### FUTURE DIRECTIONS

> This function may be withdrawn in a future version.

#### SEE ALSO

> getcwd(), the Base Definitions volume of IEEE Std 1003.1-2001, <unistd.h>

#### CHANGE HISTORY

> First released in Issue 4, Version 2.

#### Issue 5

> Moved from X/OPEN UNIX extension to BASE.

#### Issue 6

> This function is marked LEGACY.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]