Mercurial > hg > octave-lyh > gnulib-hg
changeset 1831:ce6300b50014
(make_dir): When reporting a mkdir failure and the
target cannot be `stat'ed, use the errno from the failed mkdir call,
not the one from the stat call. Before this change, running
`mkdir -p /no-dir/no-dir' as an unprivileged user would wrongly
elicit `No such file or directory' instead of `Permission denied'.
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Thu, 06 May 1999 02:10:34 +0000 |
parents | 8139ee8d995b |
children | 1a6892d6d97c |
files | lib/makepath.c |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lib/makepath.c +++ b/lib/makepath.c @@ -162,6 +162,7 @@ if (!created_dir) { struct stat stats; + int saved_errno = errno; /* The mkdir and stat calls below may appear to be reversed. They are not. It is important to call mkdir first and then to @@ -173,7 +174,7 @@ if (stat (dir, &stats)) { - error (0, errno, _("cannot create directory `%s'"), dirpath); + error (0, saved_errno, _("cannot create directory `%s'"), dirpath); fail = 1; } else if (!S_ISDIR (stats.st_mode))