Commit Graph

46 Commits

Author SHA1 Message Date
christos
16547af71a Fix setmode error handling. 2005-10-01 20:22:29 +00:00
jschauma
ad8530d1eb remove unused code left from printescaped() backput as pointed out by Jeff
Ito in PR bin/23969 and PR bin/23970.
2004-01-04 16:04:18 +00:00
jschauma
6a75fbb636 Following private discussion with kleink@ and hubertf@ and public discussion
on tech-userlevel@, back out printescaped() functionality.
kleink: ``We sell rope.''
2003-09-14 19:20:16 +00:00
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
wiz
14dfaa4b03 New policy: New sentences start on a new line.
Patches by Robert Elz <kre at munnari oz au>, with minimal changes by me.
2002-09-25 15:18:36 +00:00
enami
3579a42285 Cosmetic changes. 2002-02-19 06:30:12 +00:00
ross
dc5571b22e Generate <>& symbolically. I'm avoiding .../dist/... directories for now. 2002-02-08 01:21:55 +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
abs
5faa7161ce xref mkdir(2) 2000-10-07 13:16:42 +00:00
kleink
2caf6aacdd For commands and utilities, use EXIT STATUS rather than RETURN VALUES as
appropriate (and documented in mdoc(7)).
2000-09-04 07:30:07 +00:00
hubertf
1cb54f68ac Add 'RETURN VALUE' section header. 2000-08-28 02:11:04 +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
enami
c3872193cf Fix .Nm usage. 1997-10-20 08:50:59 +00:00
christos
23edbe3557 Remove WARNS=1 from all the subdirectory Makefiles, and add it to Makefile.inc
now that all /bin has been cleaned.
1997-07-20 22:36:20 +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
jtc
23e6aab105 Use "utility" instead of "command". Modern definitions of these terms
are distinct (See POSIX.2 glossary).

A utility is a executable, script or shell builtin; while a command
can be any of those things plus lists, pipelines, compound commands
(if, for, while) and shell function definitions.
1995-07-25 19:36:36 +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
mycroft
b1bd4afedc Add RCS indentifiers. 1993-08-01 07:42:49 +00:00
mycroft
cda4f8f6ee Add RCS identifiers. 1993-08-01 05:37:30 +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