From: Jim Meyering Date: Wed, 9 Jul 1997 14:00:27 +0000 (+0000) Subject: Add comments. X-Git-Tag: SH-UTILS-1_16c~81 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6bb8c4e904c49857d84fed4754fefed304a5e439;p=platform%2Fupstream%2Fcoreutils.git Add comments. --- diff --git a/lib/makepath.c b/lib/makepath.c index e6e65f6..1784431 100644 --- a/lib/makepath.c +++ b/lib/makepath.c @@ -210,6 +210,9 @@ make_path (argpath, mode, parent_mode, owner, group, preserve_existing, saved_cwd = !save_cwd (&cwd); } + /* If save_cwd could not record the current directory, then don't + do the chdir optimization and resort to using full pathnames. */ + if (!saved_cwd) basename_dir = dirpath; @@ -258,6 +261,10 @@ make_path (argpath, mode, parent_mode, owner, group, preserve_existing, leading_dirs = new; } + /* If we were able to save the initial working directory, + then we can use chdir to change into each directory before + creating an entry in that directory. This avoids making + stat and mkdir process O(n^2) file name components. */ if (saved_cwd && chdir (basename_dir) < 0) { error (0, errno, "cannot chdir to directory, %s", dirpath);