Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mkdirp(3G) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mkdir(2)

rmdir(2)

mkdirp(3G)                                                       mkdirp(3G)

NAME
     mkdirp, rmdirp - create/remove directories in a path

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

     #include <libgen.h>

     int mkdirp(const char *path, modet mode);

     int rmdirp(char *path1, char *path1);

DESCRIPTION
     mkdirp() creates all the missing directories in the given path with
     the given mode (see chmod(2) for the values of mode).

     rmdirp() removes directories in path path1. This removal starts at the
     end of the path and moves back toward the root as far as possible. If
     an error occurs, the remaining path is stored in path2. rmdirp()
     returns a 0 only if it is able to remove every directory in the path.

EXAMPLES
     /* create scratch directories */
     if(mkdirp("/tmp/sub1/sub2/sub3", 0755) == -1) {
           fprintf(stderr, "cannot create directory");
           exit(1);
     }
     chdir("/tmp/sub1/sub2/sub3");
     /* cleanup */
     chdir("/tmp");
     rmdirp("sub1/sub2/sub3");

RESULT
     If a needed directory cannot be created, mkdirp() returns -1 and sets
     errno to one of the mkdir() error numbers. If all the directories are
     created, or existed to begin with, it returns zero.

NOTES
     mkdirp() uses malloc() to allocate temporary space for the string.

     rmdirp() returns -2 if a "." or ".." is in the path and -3 if an
     attempt is made to remove the current directory. If an error occurs
     other than one of the above, -1 is returned.

SEE ALSO
     mkdir(2), rmdir(2).









Page 1                       Reliant UNIX 5.44                Printed 11/98

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