X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcommon%2Fuuid.cpp;h=f3603b19733fbcfee9fa36cb7f3bd2edc18a9a78;hb=a217e7366f768d671fa325ebe8546d57ce9524e6;hp=4ff8d1d21b854adfd0e3659164fa711bf55e4e4a;hpb=969329975a0af9d346c76dc34e9ff9cd54cc61ee;p=xestiaab%2F.git diff --git a/source/common/uuid.cpp b/source/common/uuid.cpp index 4ff8d1d..f3603b1 100644 --- a/source/common/uuid.cpp +++ b/source/common/uuid.cpp @@ -2,7 +2,7 @@ wxString GenerateUUID() { - + #if defined(__WIN32__) UUID UUIDData; UuidCreate(&UUIDData); @@ -11,35 +11,35 @@ wxString GenerateUUID() wxString Result(UUIDStr); #elif defined(__HAIKU__) -#elif defined(__APPLE__) - - wxString Result; - #else -#include +#include + + wxString Result; - uuid_t *uuid; - uuid_create(&uuid); - char *strdata; + FILE *uuid_hdl = popen("uuidgen", "r"); - //strdata = ; + if (uuid_hdl == NULL) { + return Result; + } - strdata = NULL; + char strdata[64]; + std::string uuidout; - uuid_make(uuid, UUID_MAKE_V4); - uuid_export(uuid, UUID_FMT_STR, &strdata, NULL); - uuid_destroy(uuid); + size_t readsize; + int size = 0; + int maxsize = 63; - wxString Result = wxString::FromUTF8(strdata); + while (fgets(strdata, sizeof(strdata), uuid_hdl) != NULL){ + uuidout.append(strdata); + } - delete strdata; - strdata = NULL; + pclose(uuid_hdl); #endif return Result; - + } bool CheckUUID(wxString UUIDInc)