-// uuid.cpp - UUID subroutines.
+// uuid.cpp - UUID functions.
//
-// (c) 2012-2015 Xestia Software Development.
+// (c) 2012-2017 Xestia Software Development.
//
-// This file is part of Xestia Calendar.
+// This file is part of Xestia Calendar. Based on Xestia Address Book.
//
// Xestia Calendar is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by the
string GenerateUUID()
{
-
-#if defined(__WIN32__)
-
-#include <rpc.h>
-
- UUID UUIDData;
- UuidCreate(&UUIDData);
- wchar_t* UUIDStr = 0;
- UuidToString(&UUIDData, (RPC_WSTR*)&UUIDStr);
- wxString Result(UUIDStr);
-
+#if defined(WIN32)
+ UUID uuidData;
+ UuidCreate(&uuidData);
+ wchar_t* uuidStr = 0;
+ UuidToString(&uuidData, (RPC_WSTR*)&uuidStr);
+ wstring uuidWStr(uuidStr);
+ std::string uuidOut(uuidWStr.begin(), uuidWStr.end());
#elif defined(__HAIKU__)
#else
-
#include <stdio.h>
- FILE *uuid_hdl = popen("uuidgen", "r");
+ FILE *uuidhdl = popen("uuidgen", "r");
- if (uuid_hdl == NULL) {
+ if (uuidhdl == NULL) {
return "";
}
- char strdata[64];
- std::string uuidout;
+ char strData[64];
+ std::string uuidOut;
- while (fgets(strdata, sizeof(strdata), uuid_hdl) != NULL){
- uuidout.append(strdata);
+ while (fgets(strData, sizeof(strData), uuidhdl) != NULL){
+ uuidOut.append(strData);
}
- pclose(uuid_hdl);
-
+ pclose(uuidhdl);
#endif
- return uuidout;
-
+ if (uuidOut.back() == '\n'){
+
+ uuidOut.erase(uuidOut.end()-1);
+
+ }
+
+ return uuidOut;
}
\ No newline at end of file