summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/UUID.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2002-10-29 19:04:00 +0000
committerMarc Laukien <marc@zeroc.com>2002-10-29 19:04:00 +0000
commitbda64ab89f5fae90f848758695d4c5728b30e424 (patch)
tree46171889152a100089eade14da54968fde4a77fe /cpp/src/IceUtil/UUID.cpp
parentImplemented connect-time handshaking. (diff)
downloadice-bda64ab89f5fae90f848758695d4c5728b30e424.tar.bz2
ice-bda64ab89f5fae90f848758695d4c5728b30e424.tar.xz
ice-bda64ab89f5fae90f848758695d4c5728b30e424.zip
fixes
Diffstat (limited to 'cpp/src/IceUtil/UUID.cpp')
-rw-r--r--cpp/src/IceUtil/UUID.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/cpp/src/IceUtil/UUID.cpp b/cpp/src/IceUtil/UUID.cpp
index e3794c4d225..4c962dcd047 100644
--- a/cpp/src/IceUtil/UUID.cpp
+++ b/cpp/src/IceUtil/UUID.cpp
@@ -13,6 +13,7 @@
// **********************************************************************
#include <IceUtil/UUID.h>
+#include <IceUtil/Unicode.h>
#ifdef _WIN32
# include <rpc.h>
@@ -32,16 +33,23 @@ IceUtil::generateUUID()
UUID uuid;
UuidCreate(&uuid);
-
-#if _MSC_VER == 1200
- unsigned char* str;
+
+#if _MSC_VER > 1200
+ wchar_t* str;
#else
- unsigned short* str; // Type has changed for some reason in VC++ 2002 (but doc still
-#endif // says it's unsigned char *...)
+ unsigned char* str;
+#endif
UuidToString(&uuid, &str);
- string result(reinterpret_cast<char*>(str));
+ string result;
+
+#if _MSC_VER > 1200
+ result = wstringToString(wstring(str));
+#else
+ result = reinterpret_cast<char*>(str);
+#endif
+
RpcStringFree(&str);
return result;