diff options
| author | Alexander Karatarakis <alkarata@microsoft.com> | 2016-09-26 21:12:04 -0700 |
|---|---|---|
| committer | Alexander Karatarakis <alkarata@microsoft.com> | 2016-09-26 21:12:04 -0700 |
| commit | a098ecad0316b627a1fd56bfe39119f92702aa5c (patch) | |
| tree | ef1f9a03c3453501b388bfe58f316c6994febfa1 /toolsrc/src/vcpkglib_helpers.cpp | |
| parent | 61cea6b1dc6f9c91993551869926734842f37159 (diff) | |
| download | vcpkg-a098ecad0316b627a1fd56bfe39119f92702aa5c.tar.gz vcpkg-a098ecad0316b627a1fd56bfe39119f92702aa5c.zip | |
vcpkglib_helpers: Return output instead of accepting it as arg
Diffstat (limited to 'toolsrc/src/vcpkglib_helpers.cpp')
| -rw-r--r-- | toolsrc/src/vcpkglib_helpers.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/toolsrc/src/vcpkglib_helpers.cpp b/toolsrc/src/vcpkglib_helpers.cpp index e947dc647..3aa3735b0 100644 --- a/toolsrc/src/vcpkglib_helpers.cpp +++ b/toolsrc/src/vcpkglib_helpers.cpp @@ -4,29 +4,28 @@ namespace vcpkg {namespace details { - void optional_field(const std::unordered_map<std::string, std::string>& fields, std::string& out, const std::string& fieldname) + std::string optional_field(const std::unordered_map<std::string, std::string>& fields, const std::string& fieldname) { auto it = fields.find(fieldname); if (it == fields.end()) { - out.clear(); + return std::string(); } - else - { - out = it->second; - } + return it->second; }; - void required_field(const std::unordered_map<std::string, std::string>& fields, std::string& out, const std::string& fieldname) + std::string required_field(const std::unordered_map<std::string, std::string>& fields, const std::string& fieldname) { auto it = fields.find(fieldname); vcpkg::Checks::check_throw(it != fields.end(), "Required field not present: %s", fieldname); - out = it->second; + return it->second; }; - void parse_depends(const std::string& depends_string, std::vector<std::string>& out) + std::vector<std::string> parse_depends(const std::string& depends_string) { + std::vector<std::string> out; + size_t cur = 0; do { @@ -34,17 +33,21 @@ namespace vcpkg {namespace details if (pos == std::string::npos) { out.push_back(depends_string.substr(cur)); - return; + break; } out.push_back(depends_string.substr(cur, pos - cur)); // skip comma and space ++pos; if (depends_string[pos] == ' ') + { ++pos; + } cur = pos; } while (cur != std::string::npos); + + return out; } }} |
