summaryrefslogtreecommitdiffstats
path: root/edify/edify_parser.cpp
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2017-03-23 01:45:51 +0100
committerandroid-build-merger <android-build-merger@google.com>2017-03-23 01:45:51 +0100
commit5e1a2dc5227d86761b43b39a93a83dfd95975de4 (patch)
tree9e4357aa169dac1a093adc1ffc70d12d71f59c6d /edify/edify_parser.cpp
parentMerge "Fix the permission of stashed blocks created by updater" am: d882b8892a am: deb2a29a42 (diff)
parentMerge "Remove malloc in edify functions" am: 1ea869b0c6 (diff)
downloadandroid_bootable_recovery-5e1a2dc5227d86761b43b39a93a83dfd95975de4.tar
android_bootable_recovery-5e1a2dc5227d86761b43b39a93a83dfd95975de4.tar.gz
android_bootable_recovery-5e1a2dc5227d86761b43b39a93a83dfd95975de4.tar.bz2
android_bootable_recovery-5e1a2dc5227d86761b43b39a93a83dfd95975de4.tar.lz
android_bootable_recovery-5e1a2dc5227d86761b43b39a93a83dfd95975de4.tar.xz
android_bootable_recovery-5e1a2dc5227d86761b43b39a93a83dfd95975de4.tar.zst
android_bootable_recovery-5e1a2dc5227d86761b43b39a93a83dfd95975de4.zip
Diffstat (limited to '')
-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);