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.
A newer edition of this document exists here

NAME

getwd - get the current working directory pathname (LEGACY)

SYNOPSIS

[XSI] [Option Start] #include <unistd.h>

char *getwd(char *
path_name); [Option End]

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 ]