diff options
-rw-r--r-- | src/server/game/Entities/Object/ObjectGuid.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/game/Entities/Object/ObjectGuid.cpp b/src/server/game/Entities/Object/ObjectGuid.cpp index ffa7b395e3a..4b3c661ccaa 100644 --- a/src/server/game/Entities/Object/ObjectGuid.cpp +++ b/src/server/game/Entities/Object/ObjectGuid.cpp @@ -85,15 +85,18 @@ namespace std::array<char, 20> buf; auto [end, err] = std::to_chars(buf.data(), buf.data() + buf.size(), component, Base); - ASSERT_NODEBUGINFO(err == std::errc(), "Failed to convert guid part to string"); + ASSERT(err == std::errc(), "Failed to convert guid part to string"); if constexpr (Width != 0) { - if (std::distance(buf.data(), end) < Width) - std::fill_n(ctx.out(), Width - std::distance(buf.data(), end), '0'); + if (std::ptrdiff_t written = std::distance(buf.data(), end); written < Width) + std::fill_n(ctx.out(), Width - written, '0'); } - return std::transform(buf.data(), end, ctx.out(), charToUpper); + if constexpr (Base > 10) + return std::transform(buf.data(), end, ctx.out(), charToUpper); + else + return std::copy(buf.data(), end, ctx.out()); } static fmt::appender AppendComponent(fmt::format_context& ctx, std::string_view component) |