summaryrefslogtreecommitdiff
path: root/src/patch_generate.c
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@github.com>2016-09-02 02:03:45 -0500
committerEdward Thomson <ethomson@github.com>2016-09-02 02:03:45 -0500
commit1cca150c71cfb0ac9dff0014b9d9b98aa9c3b691 (patch)
treeab3eec2b02c1ce3647c19ca9af0d8270a668bcfa /src/patch_generate.c
parentd66e8c5f895d91e1dc1c72895cd0a90125756045 (diff)
downloadlibgit2-ethomson/diff-only-load-binaries-when-requested.tar.gz
diff: treat binary patches with no data specialethomson/diff-only-load-binaries-when-requested
When creating and printing diffs, deal with binary deltas that have binary data specially, versus diffs that have a binary file but lack the actual binary data.
Diffstat (limited to 'src/patch_generate.c')
-rw-r--r--src/patch_generate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/patch_generate.c b/src/patch_generate.c
index 67a13b706..d0103a85c 100644
--- a/src/patch_generate.c
+++ b/src/patch_generate.c
@@ -342,7 +342,7 @@ done:
static int diff_binary(git_patch_generated_output *output, git_patch_generated *patch)
{
- git_diff_binary binary = {{0}};
+ git_diff_binary binary = {0};
const char *old_data = patch->ofile.map.data;
const char *new_data = patch->nfile.map.data;
size_t old_len = patch->ofile.map.len,
@@ -366,6 +366,8 @@ static int diff_binary(git_patch_generated_output *output, git_patch_generated *
&binary.new_file.inflatedlen,
old_data, old_len, new_data, new_len)) < 0)
return error;
+ } else {
+ binary.empty_data = 1;
}
error = giterr_set_after_callback_function(