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: A sample code using the dirname() function.

     ____________________________________________________________
    |        Input String         |        Output String        |
    |_____________________________|_____________________________|
    | "/usr/lib""                 | "/usr"                      |
    |_____________________________|_____________________________|
    | "/usr/"                     | "/"                         |
    |_____________________________|_____________________________|
    | "usr"                       | "/"                         |
    |_____________________________|_____________________________|
    | "/"                         | "/"                         |
    |_____________________________|_____________________________|
    | "."                         | "."                         |
    |_____________________________|_____________________________|
    | ".."                        | "."                         |
    |_____________________________|_____________________________|

     The following code  fragment  reads  a  path  name,  changes
     directory  to  the  parent  directory of the named file (see
     chdir(2)), and opens the file.

     char path[100], *pathcopy;
     int fd;
     gets (path);
     pathcopy = strdup (path);
     chdir (dirname (pathcopy) );
     free (pathcopy);
     fd = open (basename (path), O_RDONLY);


USAGE

     The dirname() function may modify the string pointed  to  by
     path,  and  may  return a pointer to static storage that may
     then be overwritten by subsequent calls to dirname().

     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.

     When compiling multithreaded  applications,  the  _REENTRANT
     flag  must be defined on the compile line.  This flag should
     only be used in multithreaded applications.


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | MT-Level                    | MT-Safe                     |
    |_____________________________|_____________________________|


SEE ALSO

     basename(1), chdir(2), basename(3C), attributes(5)


Man(1) output converted with man2html