diff options
author | Tianjie Xu <xunchang@google.com> | 2017-03-23 01:43:21 +0100 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-03-23 01:43:21 +0100 |
commit | eb0623b14b2935cd247e04ead6af1ef5e4618d43 (patch) | |
tree | dfb466d80dea6b61be36eaf54ae98d607f29fc83 /edify/edify_parser.cpp | |
parent | Merge "Fix the permission of stashed blocks created by updater" am: d882b8892a (diff) | |
parent | Merge "Remove malloc in edify functions" (diff) | |
download | android_bootable_recovery-eb0623b14b2935cd247e04ead6af1ef5e4618d43.tar android_bootable_recovery-eb0623b14b2935cd247e04ead6af1ef5e4618d43.tar.gz android_bootable_recovery-eb0623b14b2935cd247e04ead6af1ef5e4618d43.tar.bz2 android_bootable_recovery-eb0623b14b2935cd247e04ead6af1ef5e4618d43.tar.lz android_bootable_recovery-eb0623b14b2935cd247e04ead6af1ef5e4618d43.tar.xz android_bootable_recovery-eb0623b14b2935cd247e04ead6af1ef5e4618d43.tar.zst android_bootable_recovery-eb0623b14b2935cd247e04ead6af1ef5e4618d43.zip |
Diffstat (limited to 'edify/edify_parser.cpp')
-rw-r--r-- | edify/edify_parser.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/edify/edify_parser.cpp b/edify/edify_parser.cpp index 908fcf13b..f1b56284c 100644 --- a/edify/edify_parser.cpp +++ b/edify/edify_parser.cpp @@ -27,18 +27,19 @@ #include <errno.h> #include <stdio.h> +#include <memory> #include <string> #include <android-base/file.h> #include "expr.h" -static void ExprDump(int depth, const Expr* n, const std::string& script) { +static void ExprDump(int depth, const std::unique_ptr<Expr>& n, const std::string& script) { printf("%*s", depth*2, ""); printf("%s %p (%d-%d) \"%s\"\n", - n->name == NULL ? "(NULL)" : n->name, n->fn, n->start, n->end, + n->name.c_str(), n->fn, n->start, n->end, script.substr(n->start, n->end - n->start).c_str()); - for (int i = 0; i < n->argc; ++i) { + for (size_t i = 0; i < n->argv.size(); ++i) { ExprDump(depth+1, n->argv[i], script); } } @@ -57,7 +58,7 @@ int main(int argc, char** argv) { return 1; } - Expr* root; + std::unique_ptr<Expr> root; int error_count = 0; int error = parse_string(buffer.data(), &root, &error_count); printf("parse returned %d; %d errors encountered\n", error, error_count); |