summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/JavaUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/JavaUtil.cpp')
-rw-r--r--cpp/src/Slice/JavaUtil.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/cpp/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp
index 52c72714619..ad8d3628d65 100644
--- a/cpp/src/Slice/JavaUtil.cpp
+++ b/cpp/src/Slice/JavaUtil.cpp
@@ -13,9 +13,9 @@
#include <Slice/Util.h>
#include <Slice/MD5.h>
#include <IceUtil/Functional.h>
+#include <IceUtil/FileUtil.h>
#include <sys/types.h>
-#include <sys/stat.h>
#include <string.h>
#ifdef _WIN32
@@ -644,10 +644,8 @@ Slice::JavaOutput::openClass(const string& cls, const string& prefix, const stri
path += dir.substr(start);
}
- struct stat st;
- int result;
- result = stat(path.c_str(), &st);
- if(result == 0)
+ IceUtilInternal::structstat st;
+ if(!IceUtilInternal::stat(path, &st))
{
if(!(st.st_mode & S_IFDIR))
{
@@ -658,12 +656,8 @@ Slice::JavaOutput::openClass(const string& cls, const string& prefix, const stri
}
continue;
}
-#ifdef _WIN32
- result = _mkdir(path.c_str());
-#else
- result = ::mkdir(path.c_str(), S_IRWXU | S_IRWXG | S_IRWXO);
-#endif
- if(result != 0)
+
+ if(IceUtilInternal::mkdir(path, 0777) != 0)
{
ostringstream os;
os << "cannot create directory `" << path << "': " << strerror(errno);