| diff -urN librsync-0.9.7/mdfour.h librsync-0.9.7dev/mdfour.h |
| --- librsync-0.9.7/mdfour.h 2004-02-07 18:17:57.000000000 -0500 |
| +++ librsync-0.9.7dev/mdfour.h 2006-03-06 03:21:46.000000000 -0500 |
| @@ -24,7 +24,7 @@ |
| #include "types.h" |
| |
| struct rs_mdfour { |
| - int A, B, C, D; |
| + unsigned int A, B, C, D; |
| #if HAVE_UINT64 |
| uint64_t totalN; |
| #else |
| diff -urN librsync-0.9.7/patch.c librsync-0.9.7dev/patch.c |
| --- librsync-0.9.7/patch.c 2004-09-17 17:35:50.000000000 -0400 |
| +++ librsync-0.9.7dev/patch.c 2006-03-06 03:21:06.000000000 -0500 |
| @@ -214,12 +214,12 @@ |
| void *buf, *ptr; |
| rs_buffers_t *buffs = job->stream; |
| |
| - len = job->basis_len; |
| - |
| /* copy only as much as will fit in the output buffer, so that we |
| * don't have to block or store the input. */ |
| - if (len > buffs->avail_out) |
| + if (job->basis_len > buffs->avail_out) |
| len = buffs->avail_out; |
| + else |
| + len = job->basis_len; |
| |
| if (!len) |
| return RS_BLOCKED; |