From 8b0b0f1f02f7990177e0da89eb471da2ced13f4c Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Thu, 19 Apr 2018 21:02:13 -0700 Subject: applypatch: Drop the SHA_CTX parameter in Apply{BSDiff,Image}Patch. As they're accepting the SinkFn callback, it makes more sense to leave the work to their callers. Test: mmma -j bootable/recovery Test: Run recovery_component_test on marlin. Test: No other active user of the two functions. Change-Id: I8d67b38ce037925442296f136b483e0c71983777 --- applypatch/applypatch.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'applypatch/applypatch.cpp') diff --git a/applypatch/applypatch.cpp b/applypatch/applypatch.cpp index 120add6d6..7104abd67 100644 --- a/applypatch/applypatch.cpp +++ b/applypatch/applypatch.cpp @@ -627,21 +627,20 @@ static int GenerateTarget(const FileContents& source_file, const std::unique_ptr // We store the decoded output in memory. std::string memory_sink_str; // Don't need to reserve space. - SinkFn sink = [&memory_sink_str](const unsigned char* data, size_t len) { + SHA_CTX ctx; + SHA1_Init(&ctx); + SinkFn sink = [&memory_sink_str, &ctx](const unsigned char* data, size_t len) { + SHA1_Update(&ctx, data, len); memory_sink_str.append(reinterpret_cast(data), len); return len; }; - SHA_CTX ctx; - SHA1_Init(&ctx); - int result; if (use_bsdiff) { - result = - ApplyBSDiffPatch(source_file.data.data(), source_file.data.size(), *patch, 0, sink, &ctx); + result = ApplyBSDiffPatch(source_file.data.data(), source_file.data.size(), *patch, 0, sink); } else { - result = ApplyImagePatch(source_file.data.data(), source_file.data.size(), *patch, sink, &ctx, - bonus_data); + result = + ApplyImagePatch(source_file.data.data(), source_file.data.size(), *patch, sink, bonus_data); } if (result != 0) { -- cgit v1.2.3