Fix applying REPLACE_XZ operation when verifying payload.
am: 8adc1ad363
Change-Id: I1db7923438b088dbb75c806715682cb1e7132c8c
diff --git a/payload_generator/generate_delta_main.cc b/payload_generator/generate_delta_main.cc
index 6c04fca..86da9e1 100644
--- a/payload_generator/generate_delta_main.cc
+++ b/payload_generator/generate_delta_main.cc
@@ -19,6 +19,7 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
+#include <xz.h>
#include <string>
#include <vector>
@@ -239,6 +240,7 @@
int fd = open(payload_file.c_str(), O_RDONLY, 0);
CHECK_GE(fd, 0);
ScopedFdCloser fd_closer(&fd);
+ xz_crc32_init();
for (off_t offset = 0;; offset += buf.size()) {
ssize_t bytes_read;
CHECK(utils::PReadAll(fd, buf.data(), buf.size(), offset, &bytes_read));
@@ -504,8 +506,7 @@
}
if (!FLAGS_in_file.empty()) {
- ApplyPayload(FLAGS_in_file, payload_config);
- return 0;
+ return ApplyPayload(FLAGS_in_file, payload_config) ? 0 : 1;
}
if (!FLAGS_new_postinstall_config_file.empty()) {