diff options
Diffstat (limited to 'src/server/database/Database/Field.h')
-rw-r--r-- | src/server/database/Database/Field.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/server/database/Database/Field.h b/src/server/database/Database/Field.h index 123e25dbbf3..6089c3001fb 100644 --- a/src/server/database/Database/Field.h +++ b/src/server/database/Database/Field.h @@ -271,7 +271,6 @@ class TC_DATABASE_API Field } #endif return static_cast<char const*>(data.value); - } std::string GetString() const @@ -286,6 +285,17 @@ class TC_DATABASE_API Field return std::string(string, data.length); } + std::vector<uint8> GetBinary() const + { + std::vector<uint8> result; + if (!data.value || !data.length) + return result; + + result.resize(data.length); + memcpy(result.data(), data.value, data.length); + return result; + } + bool IsNull() const { return data.value == NULL; @@ -313,7 +323,7 @@ class TC_DATABASE_API Field #pragma pack(pop) void SetByteValue(void* newValue, enum_field_types newType, uint32 length); - void SetStructuredValue(char* newValue, enum_field_types newType); + void SetStructuredValue(char* newValue, enum_field_types newType, uint32 length); void CleanUp() { |