diff-delta.c: allow delta with empty blob.

Delta computation with an empty blob used to punt and returned NULL.
This commit allows creation with empty blob; all combination of
empty->empty, empty->something, and something->empty are allowed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2005-12-12 12:01:52 -08:00
Родитель e726715a52
Коммит 962537a3eb
2 изменённых файлов: 3 добавлений и 3 удалений

Просмотреть файл

@ -9,8 +9,8 @@ extern void *patch_delta(void *src_buf, unsigned long src_size,
void *delta_buf, unsigned long delta_size, void *delta_buf, unsigned long delta_size,
unsigned long *dst_size); unsigned long *dst_size);
/* the smallest possible delta size is 4 bytes */ /* the smallest possible delta size is 2 bytes (empty to empty) */
#define DELTA_SIZE_MIN 4 #define DELTA_SIZE_MIN 2
/* /*
* This must be called twice on the delta data buffer, first to get the * This must be called twice on the delta data buffer, first to get the

Просмотреть файл

@ -213,7 +213,7 @@ void *diff_delta(void *from_buf, unsigned long from_size,
bdrecord_t *brec; bdrecord_t *brec;
bdfile_t bdf; bdfile_t bdf;
if (!from_size || !to_size || delta_prepare(from_buf, from_size, &bdf)) if (delta_prepare(from_buf, from_size, &bdf))
return NULL; return NULL;
outpos = 0; outpos = 0;