Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dirname(3G) — DG/UX 5.4.2A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chdir(2)

basename(3G)

basename(1)



dirname(3G)                      DG/UX 5.4.2                     dirname(3G)


NAME
       dirname - report the parent directory name of a file path name

SYNOPSIS
       cc [flag ...] file ...  -lgen [library ...]

       #include <libgen.h>

       char *dirname (char *path);

DESCRIPTION
       Given a pointer to a null-terminated character string that contains a
       file system path name, dirname returns a pointer to a static constant
       string that is the parent directory of that file.  In doing this, it
       sometimes places a null byte in the path name after the next to last
       element, so the content of path must be disposable.  Trailing ``/''
       characters in the path are not counted as part of the path.

       If path or *path is zero, a pointer to a static constant ``.'' is
       returned.

       dirname and basename together yield a complete path name.  dirname
       (path) is the directory where basename (path) is found.

EXAMPLES
       A simple file name and the strings ``.'' and ``..'' all have ``.''
       as their return value.
                           Input string   Output pointer
                           ------------------------------
                           /usr/lib       /usr
                           /usr/          /
                           usr            .
                           /              /
                           .              .
                           ..             .

       The following code reads a path name, changes directory to the
       appropriate directory [see chdir(2)], and opens the file.

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

SEE ALSO
       chdir(2), basename(3G).
       basename(1).








Licensed material--property of copyright holder(s)                         1


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026