mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-15 23:20:36 +01:00
Core/Utilities: Extend make_unique_ptr_with_deleter functionality to allow it to create deleters with compile time constant functions (reduces its size to just sizeof(void*))
This commit is contained in:
@@ -30,7 +30,7 @@ namespace
|
||||
{
|
||||
auto CreatePasswordUiMethodFromPemCallback(::pem_password_cb* callback)
|
||||
{
|
||||
return Trinity::make_unique_ptr_with_deleter(UI_UTIL_wrap_read_pem_callback(callback, 0), &::UI_destroy_method);
|
||||
return Trinity::make_unique_ptr_with_deleter<&::UI_destroy_method>(UI_UTIL_wrap_read_pem_callback(callback, 0));
|
||||
}
|
||||
|
||||
auto OpenOpenSSLStore(boost::filesystem::path const& storePath, UI_METHOD const* passwordCallback, void* passwordCallbackData)
|
||||
@@ -45,7 +45,7 @@ auto OpenOpenSSLStore(boost::filesystem::path const& storePath, UI_METHOD const*
|
||||
|
||||
uri += genericPath;
|
||||
|
||||
return Trinity::make_unique_ptr_with_deleter(OSSL_STORE_open(uri.c_str(), passwordCallback, passwordCallbackData, nullptr, nullptr), &::OSSL_STORE_close);
|
||||
return Trinity::make_unique_ptr_with_deleter<&::OSSL_STORE_close>(OSSL_STORE_open(uri.c_str(), passwordCallback, passwordCallbackData, nullptr, nullptr));
|
||||
}
|
||||
|
||||
boost::system::error_code GetLastOpenSSLError()
|
||||
@@ -136,7 +136,7 @@ bool Battlenet::SslContext::Initialize()
|
||||
unsigned char* utf8TextRaw = nullptr;
|
||||
if (int utf8Length = ASN1_STRING_to_UTF8(&utf8TextRaw, text); utf8Length >= 0)
|
||||
{
|
||||
auto utf8Text = Trinity::make_unique_ptr_with_deleter(utf8TextRaw, [](unsigned char* ptr) { ::OPENSSL_free(ptr); });
|
||||
auto utf8Text = Trinity::make_unique_ptr_with_deleter<[](unsigned char* ptr) { ::OPENSSL_free(ptr); } >(utf8TextRaw);
|
||||
if (std::string_view(reinterpret_cast<char const*>(utf8Text.get()), utf8Length) == "*.*")
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user