applypatch: Let Apply{BSDiff,Image}Patch accept std::function.

Test: mmma bootable/recovery system/update_engine
Test: recovery_component_test
Change-Id: I93c2caa87bf94a53509bb37f98f2c02bcadb6f5c
This commit is contained in:
Tao Bao
2017-02-01 10:20:10 -08:00
parent f7eb760fe7
commit c0e1c46a70
7 changed files with 127 additions and 160 deletions

View File

@@ -24,9 +24,9 @@
#include <sys/types.h>
#include <bspatch.h>
#include <openssl/sha.h>
#include "applypatch/applypatch.h"
#include "openssl/sha.h"
void ShowBSDiffLicense() {
puts("The bsdiff library used herein is:\n"
@@ -61,9 +61,9 @@ void ShowBSDiffLicense() {
}
int ApplyBSDiffPatch(const unsigned char* old_data, size_t old_size, const Value* patch,
size_t patch_offset, SinkFn sink, void* token, SHA_CTX* ctx) {
auto sha_sink = [&](const uint8_t* data, size_t len) {
len = sink(data, len, token);
size_t patch_offset, SinkFn sink, SHA_CTX* ctx) {
auto sha_sink = [&sink, &ctx](const uint8_t* data, size_t len) {
len = sink(data, len);
if (ctx) SHA1_Update(ctx, data, len);
return len;
};