X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcommon%2Fuuid.cpp;h=c0e512ff11e88c86c7bd50541f6263f5b0976406;hb=e0521275eee34ef6feb06612512c611bb3c3b518;hp=104035eb49b77b0d16f4d2bfb8759bc4eb1deca1;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc;p=xestiaab%2F.git diff --git a/source/common/uuid.cpp b/source/common/uuid.cpp index 104035e..c0e512f 100644 --- a/source/common/uuid.cpp +++ b/source/common/uuid.cpp @@ -4,45 +4,53 @@ wxString GenerateUUID() { #if defined(__WIN32__) - UUID UUIDData; - UuidCreate(&UUIDData); - wchar_t* UUIDStr = 0; - UuidToString(&UUIDData, (RPC_WSTR*)&UUIDStr); - wxString Result(UUIDStr); +#include + UUID UUIDData; + UuidCreate(&UUIDData); + wchar_t* UUIDStr = 0; + UuidToString(&UUIDData, (RPC_WSTR*)&UUIDStr); + wxString Result(UUIDStr); #elif defined(__HAIKU__) - + #else - -#include - - uuid_t *uuid; - uuid_create(&uuid); - char *strdata; - - //strdata = ; - - 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; - -#endif - + +#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); + + Result = wxString::Format(wxT("%s"), uuidout); + Result.Trim(); + +#endif + + return Result; + } bool CheckUUID(wxString UUIDInc) { - - bool Result = FALSE; - - return Result; - -} \ No newline at end of file + + bool Result = FALSE; + + return Result; + +}