Patch: Allow statistics to specify xferred bytes greater than MAXLONG
Harry Felder
harry at rentec.com
Wed May 14 06:26:25 EST 2003
Hi all:
Below is a patch against 2.5.6 which fixes a problem when more than
MAXLONG (2147483648) bytes are in the file system when statistics
are output (and the compiler supports long long).
Before the patch, I would get a core dump during statistics generation
on large f. Now I can get statistics like:
wrote 1139440 bytes read 20 bytes 17666.50 bytes/sec
total size is 2154562788 speedup is 1890.86
(This is tested on a Solaris 8 system, using Sun's Forte 6.2 compiler.)
hf
--------- patch below ------
% diff -c lib/snprintf.c~ lib/snprintf.c
*** lib/snprintf.c~ Mon May 7 02:59:38 2001
--- lib/snprintf.c Tue May 13 15:41:31 2003
***************
*** 88,94 ****
#define LDOUBLE double
#endif
! #ifdef HAVE_LONG_LONG
#define LLONG long long
#else
#define LLONG long
--- 88,94 ----
#define LDOUBLE double
#endif
! #ifdef HAVE_LONGLONG
#define LLONG long long
#else
#define LLONG long
***************
*** 555,566 ****
static double my_modf(double x0, double *iptr)
{
int i;
! long l;
double x = x0;
double f = 1.0;
for (i=0;i<100;i++) {
! l = (long)x;
if (l <= (x+1) && l >= (x-1)) break;
x *= 0.1;
f *= 10.0;
--- 555,566 ----
static double my_modf(double x0, double *iptr)
{
int i;
! LLONG l;
double x = x0;
double f = 1.0;
for (i=0;i<100;i++) {
! l = (LLONG)x;
if (l <= (x+1) && l >= (x-1)) break;
x *= 0.1;
f *= 10.0;
More information about the rsync
mailing list