Commit Graph

33 Commits

Author SHA1 Message Date
christos e84c1029c6 Comment out unneeded code now that the kernel has been fixed to ignore
trailing slashes.
2003-09-11 17:38:12 +00:00
itojun ce5d37eae2 use bounded string op 2003-08-13 07:34:09 +00:00
agc b5b2954259 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22249, verified by myself.
2003-08-07 09:05:01 +00:00
jschauma 458ed23412 As discusses a little while back on tech-userlevel:
If stdout is a tty, use vis(3) to print any filenames to prevent garbage
from being printed if the filename contains control- or other non-printable
characters.

While here, sprinkle some EXIT_FAILURE and NOTREACHED where appropriate.
2003-08-04 22:31:21 +00:00
lukem d3e7b00142 Fix typo in mkpath()'s test before chmod().
Noted in [bin/20652] by Anthony Mallet.
2003-03-10 23:33:10 +00:00
lukem ee7f3a601a 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.
2003-03-05 03:58:44 +00:00
chs e5d34beb3e in mkpath(), don't try to stat() the to-be-created directory beforehand,
just try to create it and interpret any error appropriately.
this fixes a problem where multiple "mkdir -p" processes can race,
with the loser returning a spurious error.
2002-11-24 23:40:07 +00:00
enami 3579a42285 Cosmetic changes. 2002-02-19 06:30:12 +00:00
wiz 3684e0c468 ANSIfy, KNF, use [gs]etprogname. By Petri Koistinen. 2001-09-16 22:07:14 +00:00
enami e92c3f2867 - The type of return value of setmode is a void * and getmode takes it,
rather than mode_t *.
- Free the storage allocated by setmode unless it is obvious that program
  exits immediately.
2000-10-10 14:30:40 +00:00
kleink 2ac88c9554 Change previous to use symbolic names for file modes. Also, clean up some
whitespace lossage and use EXIT_{SUCCESS,FAILURE}.
1999-05-26 15:51:09 +00:00
tron 9bb12c43bb Only call chmod(2) if we create a directory with a mode which isn't
accepted by mkdir(2).
1999-05-25 00:27:45 +00:00
scw 3c6b31bc90 Insert a missing 'else' which caused mknod(2) to still be called
even if mkdir(2) failed. At best this caused two (different)
error messages to be printed. At worst, it changed the mode of
an existing file/directory.
1998-10-13 20:11:42 +00:00
wsanchez 508f3bd4f6 umask()/mkdir() system calls will not set the setuid bit; the kernel intentionally
discards the high bits, so "mkdir -m 1777 foo" won't set the sticky bit. So call
  chmod() on the directory.
1998-10-08 02:14:16 +00:00
mycroft 9dc385beb1 Delint. 1998-07-28 05:31:22 +00:00
cgd bad15fd37f lint 1997-11-05 21:17:14 +00:00
christos d3e25e3b59 Fix compiler warnings
Add WARNS=1
1997-07-20 18:55:28 +00:00
tls 3811362c9a kill use of register 1997-01-09 16:31:05 +00:00
explorer 464f1bd5ff Fix mkdir -p to not ignore terminal directory mode specified.
Closes pr bin/2686.
1996-08-12 22:44:53 +00:00
mycroft 33b2edf3a9 Style and format police. 1995-06-25 21:59:21 +00:00
mycroft 26fcf513d2 Don't complain if a directory already exists. From Greg Hudson, but
slightly edited.
1995-06-25 21:44:34 +00:00
cgd e150dc2818 clean up slightly; id tags, alphabetization, prototypes, etc. 1995-03-21 07:28:51 +00:00
jtc 6c6b9acef0 Revert to code before it was merged with 4.4lite.
Updated to conform to new NetBSD RCS ID conventions.
1995-03-01 07:52:23 +00:00
mycroft 667b5ea158 Merge 4.4-Lite version. 1994-09-22 09:24:46 +00:00
jtc 4725e86083 Strip trailing slashes, to make "mkdir -p" work as specified by POSIX.2. 1994-04-29 00:13:54 +00:00
jtc 7485400f95 simplify recursive directory create (mkdir -p) code 1994-04-28 00:10:30 +00:00
jtc b148ed66e2 Localization changes.
Updated to use standard error message routines.
1993-12-31 19:34:53 +00:00
jtc 2ddbb97f0f #include <unistd.h>, so getopt(), optarg, opterr, optind, and optopt
declarations can be removed from <stdlib.h>.
1993-10-13 18:33:45 +00:00
mycroft 8542364e07 Add RCS identifiers. 1993-08-01 18:49:50 +00:00
jtc 724f511de6 Make Posix 1003.2 (D11.2) compliant by adding -m (mode) option. 1993-07-20 22:27:07 +00:00
cgd 06be60083d changed "Id" to "Header" for rcsids 1993-03-23 00:22:59 +00:00
cgd 346aa5dd48 added rcs ids to all files 1993-03-22 08:04:00 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00