diff options
Diffstat (limited to 'src/mbgl/util/uv.cpp')
-rw-r--r-- | src/mbgl/util/uv.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mbgl/util/uv.cpp b/src/mbgl/util/uv.cpp new file mode 100644 index 0000000000..7aa5bad0cf --- /dev/null +++ b/src/mbgl/util/uv.cpp @@ -0,0 +1,25 @@ +#include <mbgl/util/uv.hpp> + +#include <uv.h> + +namespace uv { + +std::string cwd() { +#if UV_VERSION_MAJOR == 0 && UV_VERSION_MINOR <= 10 + char dir[512]; + uv_cwd(dir, 512); + return dir; +#else + size_t max = 0; + std::string dir; + do { + max += 256; + dir.resize(max); + uv_cwd(const_cast<char *>(dir.data()), &max); + } while (max == dir.size()); + dir.resize(max - 1); + return dir; +#endif +} + +} |