diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2017-10-13 18:31:07 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-10-13 18:31:07 -0700 |
| commit | 2397cc044ee56160757aeb402dc7adaec6b00894 (patch) | |
| tree | 26857e35ae80022bd76ff40e40705692ae96d6f4 /toolsrc | |
| parent | d46a992b3cbbbf3479ad3906aecd07e73174cd40 (diff) | |
| parent | 37fba399ef5c57573a1218206cb2c55f5f6bc13c (diff) | |
| download | vcpkg-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')
| -rw-r--r-- | toolsrc/src/commands_export_ifw.cpp | 10 |
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, "&"); + } + 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())); } |
