NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | RETURN VALUES | ERRORS | EXAMPLES | SEE ALSO | NOTES
#include <unistd.h> #include <tsol/mld.h>extern char *mldgetcwd(char *buf, size_t size);
mldgetcwd() returns a pointer to the current directory pathname including any MLD adornments and SLD names. 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, mldgetcwd() will obtain size bytes of space using malloc(3C). In this case, the pointer returned by mldgetcwd() may be used as the argument in a subsequent call to free().
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Availability | SUNWtsu |
MT-Level | MT-Safe |
mldgetcwd() returns NULL with errno set if size is not large enough, or if an error occurs in a lower-level function.
mldgetcwd() will fail if one or more of the following are true:
A parent directory cannot be read to get its name.
size is equal to 0.
size is greater than 0 and less than the length of the pathname plus 1.
#include <unistd.h> #include <stdio.h> main() { char *cwd; if ((cwd = mldgetcwd(NULL, 64)) == NULL) { perror("pwd"); exit(2); } (void)printf("%s\n", cwd); return(0); }
Using chdir(2) in conjunction with mldgetcwd() can give unpredictable results.
NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | RETURN VALUES | ERRORS | EXAMPLES | SEE ALSO | NOTES