X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fmakepath.c;h=20e9a1288ec6accd4b0518c3e8b3ad5e4a088849;hb=365c522e3a5b3ae36005ab1d7f3a8bfbb0a9dee7;hp=4a758e37a7ae0ab69190eb61f377283c7c464ab0;hpb=90182dd6ea4c44991c7477ea25cb3ff90941081e;p=gnulib.git diff --git a/lib/makepath.c b/lib/makepath.c index 4a758e37a..20e9a1288 100644 --- a/lib/makepath.c +++ b/lib/makepath.c @@ -162,6 +162,7 @@ make_dir (const char *dir, const char *dirpath, mode_t mode, int *created_dir_p) 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 @@ make_dir (const char *dir, const char *dirpath, mode_t mode, int *created_dir_p) 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))