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()) {