diff --git a/Source/Utility/GuidParse.cpp b/Source/Utility/GuidParse.cpp index d558897..4339826 100644 --- a/Source/Utility/GuidParse.cpp +++ b/Source/Utility/GuidParse.cpp @@ -1,4 +1,5 @@ #include "Utility/GuidParse.h" +#include "Utility/Text/FormatString.h" #include #include @@ -26,3 +27,12 @@ int ParseGuid(const char* text, std::size_t bytes, GUID& output, bool braced) { ); return count == 11 ? 1 : count == EOF ? -1 : 0; } + +// FUNCTION: fn_18259 +int FormatGuid(char* text, std::size_t bytes, const GUID& value, bool braced) { + const char* format = braced ? "{%08X-%04hX-%04hX-%02hhX%02hhX-%02hhX%02hhX%02hhX%02hhX%02hhX%02hhX}" : "%08X-%04hX-%04hX-%02hhX%02hhX-%02hhX%02hhX%02hhX%02hhX%02hhX%02hhX"; + return StringFormat( + text, bytes, static_cast(-1), format, value.Data1, value.Data2, value.Data3, value.Data4[0], value.Data4[1], value.Data4[2], value.Data4[3], + value.Data4[4], value.Data4[5], value.Data4[6], value.Data4[7] + ); +} diff --git a/Source/Utility/GuidParse.h b/Source/Utility/GuidParse.h index dfff812..b7707f7 100644 --- a/Source/Utility/GuidParse.h +++ b/Source/Utility/GuidParse.h @@ -5,5 +5,6 @@ #include int ParseGuid(const char* text, std::size_t bytes, GUID& output, bool braced); +int FormatGuid(char* text, std::size_t bytes, const GUID& value, bool braced); #endif