aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/commands_cache.cpp
diff options
context:
space:
mode:
authorTobias Kohlbau <tobias@kohlbau.de>2017-03-28 10:48:26 +0200
committerTobias Kohlbau <tobias@kohlbau.de>2017-03-28 10:51:53 +0200
commita9aaead2d19c60a51edbaaddd97b745c51714220 (patch)
treee0632fa068b11edd4be13e1ee191d65616a4cffb /toolsrc/src/commands_cache.cpp
parent4fbcf0df4dd14176eda7d686bf122d0b65c0585a (diff)
parenta1cfa18481f9ea0f7eaaaeb34832d89c51f5f4f1 (diff)
downloadvcpkg-a9aaead2d19c60a51edbaaddd97b745c51714220.tar.gz
vcpkg-a9aaead2d19c60a51edbaaddd97b745c51714220.zip
Merge branch 'master' of github.com:Microsoft/vcpkg into opencv_contrib
Diffstat (limited to 'toolsrc/src/commands_cache.cpp')
-rw-r--r--toolsrc/src/commands_cache.cpp19
1 files changed, 4 insertions, 15 deletions
diff --git a/toolsrc/src/commands_cache.cpp b/toolsrc/src/commands_cache.cpp
index 417799abb..6504c8c4d 100644
--- a/toolsrc/src/commands_cache.cpp
+++ b/toolsrc/src/commands_cache.cpp
@@ -13,22 +13,11 @@ namespace vcpkg::Commands::Cache
for (auto it = fs::directory_iterator(paths.packages); it != fs::directory_iterator(); ++it)
{
const fs::path& path = it->path();
-
- try
- {
- auto file_contents = Files::read_contents(path / "CONTROL");
- if (auto text = file_contents.get())
- {
- auto pghs = Paragraphs::parse_paragraphs(*text);
- if (pghs.size() != 1)
- continue;
-
- const BinaryParagraph binary_paragraph = BinaryParagraph(pghs[0]);
- output.push_back(binary_paragraph);
- }
- }
- catch (std::runtime_error const&)
+ const expected<std::unordered_map<std::string, std::string>> pghs = Paragraphs::get_single_paragraph(path / "CONTROL");
+ if (auto p = pghs.get())
{
+ const BinaryParagraph binary_paragraph = BinaryParagraph(*p);
+ output.push_back(binary_paragraph);
}
}