aboutsummaryrefslogtreecommitdiff
path: root/tools/mhmake/src/util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/mhmake/src/util.cpp')
-rw-r--r--tools/mhmake/src/util.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/mhmake/src/util.cpp b/tools/mhmake/src/util.cpp
index 20f85adbe..5864fc7de 100644
--- a/tools/mhmake/src/util.cpp
+++ b/tools/mhmake/src/util.cpp
@@ -765,7 +765,10 @@ bool MakeDirs(fileinfo *pDir)
}
if (!pDir->GetDate().DoesExist())
{ /* Create directory */
- if (-1==mkdir(pDir->GetFullFileName().c_str(),S_IRWXU))
+ struct stat statbuf;
+ if ( (-1==stat(pParentDir->GetFullFileName().c_str(),&statbuf)) ||
+ (-1==mkdir(pDir->GetFullFileName().c_str(),statbuf.st_mode))
+ )
{
cerr << "mkdir function failed for directory " << QuoteFileName(pDir->GetFullFileName()) << endl;
return false;