Subject: CVS commit: src/bin/mkdir
To: None <source-changes@netbsd.org>
From: Luke Mewburn <lukem@netbsd.org>
List: source-changes
Date: 03/05/2003 05:58:46
Module Name: src
Committed By: lukem
Date: Wed Mar 5 03:58:45 UTC 2003
Modified Files:
src/bin/mkdir: mkdir.c
Log Message:
Rework -p support again;
- If mkdir() fails on a component (no matter what the error is),
stat() the result. If the stat() fails, print the error mkdir() generated.
Otherwise, if the result is not a directory, explicitly fail with ENOTDIR.
- Move the chmod() of last element to be done only if the mkdir() succeeded
(i.e, it wasn't an existing directory)
Fixes problem introduced in previous commit where "mkdir -p existing"
on a read-only file system would incorrectly return a non zero exit code,
whilst retaining the race-condition fix of the previous commit.
Thanks to simonb@ for sanity checking my fix versus the standards.
To generate a diff of this commit:
cvs rdiff -r1.27 -r1.28 src/bin/mkdir/mkdir.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.