aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-10-13 18:31:07 -0700
committerGitHub <noreply@github.com>2017-10-13 18:31:07 -0700
commit2397cc044ee56160757aeb402dc7adaec6b00894 (patch)
tree26857e35ae80022bd76ff40e40705692ae96d6f4 /toolsrc/src
parentd46a992b3cbbbf3479ad3906aecd07e73174cd40 (diff)
parent37fba399ef5c57573a1218206cb2c55f5f6bc13c (diff)
downloadvcpkg-2397cc044ee56160757aeb402dc7adaec6b00894.tar.gz
vcpkg-2397cc044ee56160757aeb402dc7adaec6b00894.zip
Merge pull request #1966 from podsvirov/vcpkg-export-ifw-safe-description
[vcpkg-export-ifw] Safe description
Diffstat (limited to 'toolsrc/src')
-rw-r--r--toolsrc/src/commands_export_ifw.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/toolsrc/src/commands_export_ifw.cpp b/toolsrc/src/commands_export_ifw.cpp
index 191dbb763..c001a93ed 100644
--- a/toolsrc/src/commands_export_ifw.cpp
+++ b/toolsrc/src/commands_export_ifw.cpp
@@ -26,6 +26,14 @@ namespace vcpkg::Commands::Export::IFW
return date_time_as_string;
}
+ std::string safe_rich_from_plain_text(const std::string& text)
+ {
+ // match standalone ampersand, no HTML number or name
+ std::regex standalone_ampersand(R"###(&(?!(#[0-9]+|\w+);))###");
+
+ return std::regex_replace(text, standalone_ampersand, "&amp;");
+ }
+
fs::path get_packages_dir_path(const std::string& export_id, const Options& ifw_options, const VcpkgPaths& paths)
{
return ifw_options.maybe_packages_dir_path.has_value()
@@ -156,7 +164,7 @@ namespace vcpkg::Commands::Export::IFW
</Package>
)###",
action.spec.name(),
- binary_paragraph.description,
+ safe_rich_from_plain_text(binary_paragraph.description),
binary_paragraph.version,
create_release_date()));
}