From 83f620ca2393f02d875f558455f4270fa1a64ccb Mon Sep 17 00:00:00 2001 From: Kiri Date: Wed, 12 Aug 2015 15:29:06 +0100 Subject: [PATCH] Adjusted UUID generation so it fetches from an application called uuidgen on non-Windows systems. --- source/common/uuid.cpp | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/source/common/uuid.cpp b/source/common/uuid.cpp index 4ff8d1d..a658829 100644 --- a/source/common/uuid.cpp +++ b/source/common/uuid.cpp @@ -2,7 +2,7 @@ wxString GenerateUUID() { - + #if defined(__WIN32__) UUID UUIDData; UuidCreate(&UUIDData); @@ -17,29 +17,46 @@ wxString GenerateUUID() #else -#include +#include + + wxString Result; + + FILE *uuid_hdl = popen("uuidgen", "r"); + + if (uuid_hdl == NULL) { + return Result; + } + + char strdata[64]; + std::string uuidout; + + size_t readsize; + int size = 0; + int maxsize = 63; + + while (fgets(strdata, sizeof(strdata), uuid_hdl) != NULL){ + uuidout.append(strdata); + } + + pclose(uuid_hdl); + +/*#include uuid_t *uuid; uuid_create(&uuid); - char *strdata; - - //strdata = ; + char *strdata[100]; strdata = NULL; - uuid_make(uuid, UUID_MAKE_V4); - uuid_export(uuid, UUID_FMT_STR, &strdata, NULL); - uuid_destroy(uuid); - wxString Result = wxString::FromUTF8(strdata); delete strdata; - strdata = NULL; + strdata = NULL;*/ #endif return Result; - + } bool CheckUUID(wxString UUIDInc) -- 2.39.2