summaryrefslogtreecommitdiff
path: root/Utilities/cmlibuv
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-02-21 19:44:53 -0500
committerBrad King <brad.king@kitware.com>2017-02-26 10:48:26 -0500
commitf06986926ae2ed76023956e6594711f9e65b4106 (patch)
treeae493aab26215cddd38357350b52f0e195ebb170 /Utilities/cmlibuv
parent5651257fffc4482861c2ed6a67721fd00f0da6c0 (diff)
downloadcmake-f06986926ae2ed76023956e6594711f9e65b4106.tar.gz
libuv: Implement mkdtemp on Solaris 10
Diffstat (limited to 'Utilities/cmlibuv')
-rw-r--r--Utilities/cmlibuv/src/unix/fs.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/Utilities/cmlibuv/src/unix/fs.c b/Utilities/cmlibuv/src/unix/fs.c
index f9513ea55a..8a4ba7a2f8 100644
--- a/Utilities/cmlibuv/src/unix/fs.c
+++ b/Utilities/cmlibuv/src/unix/fs.c
@@ -244,9 +244,19 @@ skip:
#endif
}
+#if defined(__sun) && _XOPEN_SOURCE < 600
+static char* uv__mkdtemp(char *template)
+{
+ if (!mktemp(template) || mkdir(template, 0700))
+ return NULL;
+ return template;
+}
+#else
+#define uv__mkdtemp mkdtemp
+#endif
static ssize_t uv__fs_mkdtemp(uv_fs_t* req) {
- return mkdtemp((char*) req->path) ? 0 : -1;
+ return uv__mkdtemp((char*) req->path) ? 0 : -1;
}