summaryrefslogtreecommitdiff
path: root/src/diff_patch.c
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@edwardthomson.com>2015-06-17 07:31:47 -0700
committerEdward Thomson <ethomson@github.com>2016-05-26 13:01:03 -0500
commit1cd6599142ec89f9c7eeb8b302e8877c71e1ab4b (patch)
treeb5c6af23ee87ca3479358def056ddc3631c103d1 /src/diff_patch.c
parent6a2d2f8aa14462396cbc7d3e408ed28430e212e2 (diff)
downloadlibgit2-1cd6599142ec89f9c7eeb8b302e8877c71e1ab4b.tar.gz
delta: refactor git_delta functions for consistency
Refactor the git_delta functions to have consistent naming and parameters with the rest of the library.
Diffstat (limited to 'src/diff_patch.c')
-rw-r--r--src/diff_patch.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/diff_patch.c b/src/diff_patch.c
index 50faa3b3f..20a84388f 100644
--- a/src/diff_patch.c
+++ b/src/diff_patch.c
@@ -270,20 +270,24 @@ static int create_binary(
}
if (a_datalen && b_datalen) {
- void *delta_data = git_delta(
- a_data, (unsigned long)a_datalen,
- b_data, (unsigned long)b_datalen,
- &delta_data_len, (unsigned long)deflate.size);
+ void *delta_data;
- if (delta_data) {
+ error = git_delta(&delta_data, &delta_data_len,
+ a_data, a_datalen,
+ b_data, b_datalen,
+ deflate.size);
+
+ if (error == 0) {
error = git_zstream_deflatebuf(
&delta, delta_data, (size_t)delta_data_len);
git__free(delta_data);
-
- if (error < 0)
- goto done;
+ } else if (error == GIT_EBUFS) {
+ error = 0;
}
+
+ if (error < 0)
+ goto done;
}
if (delta.size && delta.size < deflate.size) {