diff options
author | mpp <mpp@FreeBSD.org> | 1997-04-01 23:46:22 +0000 |
---|---|---|
committer | mpp <mpp@FreeBSD.org> | 1997-04-01 23:46:22 +0000 |
commit | c785109c066dcd5c4aa81274f9484fe20c6738d9 (patch) | |
tree | bd8053f0e92d753cc6e100f4a03263a21048f153 /share/examples/mdoc/example.1 | |
parent | 31ef1e437de118935de5eab2e38baadd8d88b4ae (diff) | |
download | FreeBSD-src-c785109c066dcd5c4aa81274f9484fe20c6738d9.zip FreeBSD-src-c785109c066dcd5c4aa81274f9484fe20c6738d9.tar.gz |
Fix several problems with mkdir:
1) Fix mkdir -p to exit with the proper exit status and issue an error
message if it was unable to create all of the specified directories
and they did not previously exist. POSIX says:
The mkdir utility shall exit with one of the following values:
0 All the specified directories were created successfully or the
-p option was specified and all the specified directories now
exist.
E.g.
% mkdir -p /var/mkdir
mkdir: /var/mkdir: Permission denied
% touch /tmp/file
% mkdir -p /tmp/file/dir
mkdir: /tmp/file: Not a directory
Previously the above examples would exit with a zero exit status
and no error message. Something like the following run as a
normal user will still not produce an error:
% id
uid=629(mpp) gid=629(mpp)....
% mkdir -p /usr/local/etc
% ls -ld /usr/local/etc
drwxr-xr-x 4 bin bin 512 Dec 26 14:55 /usr/local/etc/
2) Cleaned up the mode handling to be more efficient when multiple
directories are being created.
3) Fixed a problem where directories could be created with the wrong mode
if the the -p option was specified and the build() routine returned
and error. It would leave the umask set incorrectly at this point.
4) Removed an unused variable.
Closes PR# 2304.
Diffstat (limited to 'share/examples/mdoc/example.1')
0 files changed, 0 insertions, 0 deletions