diff options
author | Jose <jose@zeroc.com> | 2016-09-17 00:28:00 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2016-09-17 00:28:00 +0200 |
commit | 47c3b5d2b03d3286cba2a3b4890e57fdd6135132 (patch) | |
tree | 40e05ffec6df92a5b88fdb675d775580f41547c1 /cpp/src/Slice/JavaUtil.cpp | |
parent | 3.6.3 version fixes (diff) | |
download | ice-47c3b5d2b03d3286cba2a3b4890e57fdd6135132.tar.bz2 ice-47c3b5d2b03d3286cba2a3b4890e57fdd6135132.tar.xz ice-47c3b5d2b03d3286cba2a3b4890e57fdd6135132.zip |
Fix ICE-4787 - slice compilers and unicode paths
Diffstat (limited to 'cpp/src/Slice/JavaUtil.cpp')
-rw-r--r-- | cpp/src/Slice/JavaUtil.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/cpp/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp index 207b64fa6ea..3856e899202 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 @@ -214,10 +214,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)) { @@ -228,12 +226,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); |