aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Chat
diff options
context:
space:
mode:
authorTreeston <treeston.mmoc@gmail.com>2020-09-01 00:38:46 +0200
committerGitHub <noreply@github.com>2020-09-01 00:38:46 +0200
commit3fbbe7cfbe1bc51db12bdc1ec7b21c16d1716366 (patch)
treedfeb5042850efebde2c1ad79ca2db85f1da45d0f /src/server/game/Chat
parentb2895f31ec835e24d7e30944dc2fc8c5853e10dd (diff)
Core/Misc: DBC std::array refactors, and |Hachievement unit tests
Diffstat (limited to 'src/server/game/Chat')
-rw-r--r--src/server/game/Chat/HyperlinkTags.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/server/game/Chat/HyperlinkTags.cpp b/src/server/game/Chat/HyperlinkTags.cpp
index d9e4fb0aedb..d511265c537 100644
--- a/src/server/game/Chat/HyperlinkTags.cpp
+++ b/src/server/game/Chat/HyperlinkTags.cpp
@@ -58,13 +58,17 @@ class HyperlinkDataTokenizer
bool Trinity::Hyperlinks::LinkTags::achievement::StoreTo(AchievementLinkData& val, std::string_view text)
{
HyperlinkDataTokenizer t(text);
+
uint32 achievementId;
if (!t.TryConsumeTo(achievementId))
return false;
val.Achievement = sAchievementMgr->GetAchievement(achievementId);
- if (!(val.Achievement && t.TryConsumeTo(val.CharacterId) && t.TryConsumeTo(val.IsFinished) &&
- t.TryConsumeTo(val.Month) && t.TryConsumeTo(val.Day)))
+
+ if (!(val.Achievement && t.TryConsumeTo(val.CharacterId) && t.TryConsumeTo(val.IsFinished) && t.TryConsumeTo(val.Month) && t.TryConsumeTo(val.Day)))
return false;
+ if ((12 < val.Month) || (31 < val.Day))
+ return false;
+
int8 year;
if (!t.TryConsumeTo(year))
return false;
@@ -77,8 +81,7 @@ bool Trinity::Hyperlinks::LinkTags::achievement::StoreTo(AchievementLinkData& va
else
val.Year = 0;
- return (t.TryConsumeTo(val.Criteria[0]) &&
- t.TryConsumeTo(val.Criteria[1]) && t.TryConsumeTo(val.Criteria[2]) && t.TryConsumeTo(val.Criteria[3]) && t.IsEmpty());
+ return (t.TryConsumeTo(val.Criteria[0]) && t.TryConsumeTo(val.Criteria[1]) && t.TryConsumeTo(val.Criteria[2]) && t.TryConsumeTo(val.Criteria[3]) && t.IsEmpty());
}
bool Trinity::Hyperlinks::LinkTags::enchant::StoreTo(SpellInfo const*& val, std::string_view text)