DIRNAME(3C)             Standard C Library Functions             DIRNAME(3C)
NAME
       dirname - report the parent directory name of a file path name
SYNOPSIS
       #include <libgen.h>       
char *dirname(
char *path);
DESCRIPTION
       The 
dirname() function takes a pointer to a character string that
       contains a pathname, and returns a pointer to a string that is a
       pathname of the parent directory of that file.  Trailing '/'
       characters in the path are not counted as part of the path.
       If 
path does not contain a '/', then 
dirname() returns a pointer to
       the string "." .  If 
path is a null pointer or points to an empty
       string, 
dirname() returns a pointer to the string "." .
RETURN VALUES
       The 
dirname() function returns a pointer to a string that is the
       parent directory of 
path. If 
path is a null pointer or points to an
       empty string, a pointer to a string "." is returned.
ERRORS
       No errors are defined.
EXAMPLES
       Example 1: Changing the Current Directory to the Parent Directory.
       The following code fragment reads a pathname, changes the current
       working directory to the parent directory of the named file (see       
chdir(2)), and opens the file.
         char path[[MAXPATHLEN], *pathcopy;
         int fd;
         fgets(path, MAXPATHLEN, stdin);
         pathcopy = strdup(path);
         chdir(dirname(pathcopy));
         fd = open(basename(path), O_RDONLY);
       Example 2: Sample Input and Output Strings for dirname().
       In the following table, the input string is the value pointed to by       
path, and the output string is the return value of the 
dirname()       function.
       +-------------+---------------+
       |
Input String | 
Output String |
       +-------------+---------------+
       |"/usr/lib""  | "/usr"        |
       +-------------+---------------+
       |"/usr/"      | "/"           |
       +-------------+---------------+
       |"usr"        | "/"           |
       +-------------+---------------+
       |"/"          | "/"           |
       +-------------+---------------+
       |"."          | "."           |
       +-------------+---------------+
       |".."         | "."           |
       +-------------+---------------+
USAGE
       The 
dirname() function modifies the string pointed to by 
path.
       The 
dirname() and 
basename(3C) functions together yield a complete
       pathname.  The expression 
dirname(path) obtains the pathname of the
       directory where 
basename(path) is found.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Standard        |
       +--------------------+-----------------+
       |MT-Level            | MT-Safe         |
       +--------------------+-----------------+
SEE ALSO
       basename(1), 
chdir(2), 
basename(3C), 
attributes(7), 
standards(7)                               March 18, 2002                    DIRNAME(3C)