diff options
author | Tom Cherry <tomcherry@google.com> | 2018-09-05 15:11:44 -0700 |
---|---|---|
committer | Tom Cherry <tomcherry@google.com> | 2018-09-21 12:50:39 -0700 |
commit | 4aa60b382cf758ac366045b7d2efd3b2f68bd659 (patch) | |
tree | 74dd8d39c97c5f392eb32cdad56cb1de7019f111 /fastboot/fastboot_driver.cpp | |
parent | dfd85df11ace52e8b7076591e3e31dc087467f01 (diff) |
fastboot: clean up CheckRequirements
CheckRequirements() had various issues that are cleaned up here,
1) Move from C string parsing to C++
2) Moved from C data structures to C++, including fixing memory leaks.
3) Removed the 'cur_product' global and the 'query_save' function that
stores it
4) Actually writing tests for the parsing function for
android-info.txt
5) Check that a variable needs to be checked for a given product before
trying to read it. Previously, fastboot would fail if a variable
isn't recognized on a device, even if the check should be ignored.
A lot of flexibility is allowed for the input strings, to keep
backwards compatibility with the previous parsers.
Test: fastboot works, unit tests
Change-Id: Idc3bba8b8fe829d8eefe5f6c495e63a9441c0b60
Diffstat (limited to 'fastboot/fastboot_driver.cpp')
-rw-r--r-- | fastboot/fastboot_driver.cpp | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/fastboot/fastboot_driver.cpp b/fastboot/fastboot_driver.cpp index 97857d95c..72ba6194b 100644 --- a/fastboot/fastboot_driver.cpp +++ b/fastboot/fastboot_driver.cpp @@ -147,28 +147,6 @@ RetCode FastBootDriver::Partitions(std::vector<std::tuple<std::string, uint64_t> return SUCCESS; } -RetCode FastBootDriver::Require(const std::string& var, const std::vector<std::string>& allowed, - bool* reqmet, bool invert) { - *reqmet = invert; - RetCode ret; - std::string response; - if ((ret = GetVar(var, &response))) { - return ret; - } - - // Now check if we have a match - for (const auto s : allowed) { - // If it ends in *, and starting substring match - if (response == s || (s.length() && s.back() == '*' && - !response.compare(0, s.length() - 1, s, 0, s.length() - 1))) { - *reqmet = !invert; - break; - } - } - - return SUCCESS; -} - RetCode FastBootDriver::Download(int fd, size_t size, std::string* response, std::vector<std::string>* info) { RetCode ret; |