commit db37875c50f759485cfb63f1969e95b3e6e63d3a
parent b5a1b64a40e83947f33bd3a767f4b394bd7ee26f
Author: yao-msft <50888816+yao-msft@users.noreply.github.com>
Date: Tue, 16 Mar 2021 10:17:26 -0700
Fix failure in indexing when duplicate PackageName or Publisher values exist in multiple localizations (#798)
Diffstat:
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/src/AppInstallerRepositoryCore/Microsoft/Schema/1_2/Interface_1_2.cpp b/src/AppInstallerRepositoryCore/Microsoft/Schema/1_2/Interface_1_2.cpp
@@ -17,7 +17,11 @@ namespace AppInstaller::Repository::Microsoft::Schema::V1_2
{
if (localization.Contains(Manifest::Localization::PackageName))
{
- out.emplace_back(normalizer.NormalizeName(Utility::FoldCase(localization.Get<Manifest::Localization::PackageName>())).Name());
+ Utility::NormalizedString value = normalizer.NormalizeName(Utility::FoldCase(localization.Get<Manifest::Localization::PackageName>())).Name();
+ if (std::find(out.begin(), out.end(), value) == out.end())
+ {
+ out.emplace_back(std::move(value));
+ }
}
}
@@ -25,7 +29,11 @@ namespace AppInstaller::Repository::Microsoft::Schema::V1_2
{
if (localization.Contains(Manifest::Localization::Publisher))
{
- out.emplace_back(normalizer.NormalizePublisher(Utility::FoldCase(localization.Get<Manifest::Localization::Publisher>())));
+ Utility::NormalizedString value = normalizer.NormalizePublisher(Utility::FoldCase(localization.Get<Manifest::Localization::Publisher>()));
+ if (std::find(out.begin(), out.end(), value) == out.end())
+ {
+ out.emplace_back(std::move(value));
+ }
}
}