Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dirname(3g) — Atari System V ue12

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chdir(2)

basename(3G)

basename(1)





   dirname(3G)                                                     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) in the User's Reference Manual.




   7/91                                                                 Page 1





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