ALT Linux repositórios
S: | 2.3.4-alt1 |
5.0: | 0.9.7-alt1 |
4.1: | 0.9.7-alt0.1 |
4.0: | 0.9.7-alt0.1 |
3.0: | |
+backports: | 0.9.7-alt0.M30.0.1 |
Group :: Desenvolvimento/C
RPM: librsync
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: librsync-debian-02-4gb.patch
Download
Download
--- librsync-0.9.7.orig/debian/patches/02-4gb.dpatch
+++ librsync-0.9.7/debian/patches/02-4gb.dpatch
@@ -0,0 +1,39 @@
+#!/bin/sh /usr/share/dpatch/dpatch-run
+## 02-4gb.dpatch
+##
+## DP: Fixes problem when transfering >4GB from a 32bit to 64bit host
+## DP: (Closes: #355178).
+
+@DPATCH@
+
+diff -Naurp librsync.orig/mdfour.h librsync/mdfour.h
+--- librsync.orig/mdfour.h 2008-06-21 14:50:55.000000000 +0200
++++ librsync/mdfour.h 2008-06-24 10:26:49.000000000 +0200
+@@ -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 -Naurp librsync.orig/patch.c librsync/patch.c
+--- librsync.orig/patch.c 2008-06-21 14:50:55.000000000 +0200
++++ librsync/patch.c 2008-06-24 10:26:49.000000000 +0200
+@@ -214,12 +214,12 @@ static rs_result rs_patch_s_copying(rs_j
+ 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;