summaryrefslogtreecommitdiffstats
path: root/edify/edify_parser.cpp
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2017-03-23 01:43:21 +0100
committerandroid-build-merger <android-build-merger@google.com>2017-03-23 01:43:21 +0100
commiteb0623b14b2935cd247e04ead6af1ef5e4618d43 (patch)
treedfb466d80dea6b61be36eaf54ae98d607f29fc83 /edify/edify_parser.cpp
parentMerge "Fix the permission of stashed blocks created by updater" am: d882b8892a (diff)
parentMerge "Remove malloc in edify functions" (diff)
downloadandroid_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.cpp9
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);