Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dirname(3G) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

basename(1)

basename(3G)

chdir(2)






       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), O_RDONLY);



                           Copyright 1994 Novell, Inc.               Page 1













      dirname(3G)                                              dirname(3G)


      REFERENCES
            basename(1), basename(3G), chdir(2)














































                          Copyright 1994 Novell, Inc.               Page 2








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