summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/UUID.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2002-01-15 22:11:25 +0000
committerMarc Laukien <marc@zeroc.com>2002-01-15 22:11:25 +0000
commitc54a7c863932c31900b2d35d5e9ceed8fb7ce829 (patch)
treec3cf9262d5525f2c587d988a9fad9f436313afb0 /cpp/src/IceUtil/UUID.cpp
parentuuid fixes for windows (diff)
downloadice-c54a7c863932c31900b2d35d5e9ceed8fb7ce829.tar.bz2
ice-c54a7c863932c31900b2d35d5e9ceed8fb7ce829.tar.xz
ice-c54a7c863932c31900b2d35d5e9ceed8fb7ce829.zip
uuid fixes for windows
Diffstat (limited to 'cpp/src/IceUtil/UUID.cpp')
-rw-r--r--cpp/src/IceUtil/UUID.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/cpp/src/IceUtil/UUID.cpp b/cpp/src/IceUtil/UUID.cpp
index 4c6320a8507..9befbbfbb4a 100644
--- a/cpp/src/IceUtil/UUID.cpp
+++ b/cpp/src/IceUtil/UUID.cpp
@@ -11,6 +11,7 @@
#include <IceUtil/UUID.h>
#ifdef WIN32
+# include <rpc.h>
#else
extern "C" // uuid/uuid.h seems to miss extern "C" declarations.
{
@@ -24,7 +25,19 @@ string
IceUtil::generateUUID()
{
#ifdef WIN32
+
+ UUID uuid;
+ UuidCreate(&uuid);
+
+ unsigned char* str;
+ UuidToString(&uuid, &str);
+
+ string result(reinterpret_cast<char*>(str));
+ RpcStringFree(&str);
+ return result;
+
#else
+
uuid_t uuid;
uuid_generate(uuid);
@@ -32,5 +45,6 @@ IceUtil::generateUUID()
uuid_unparse(uuid, str);
return str;
+
#endif
}