summaryrefslogtreecommitdiff
path: root/flist.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-06-01 03:42:14 +0000
committerAndrew Tridgell <tridge@samba.org>1998-06-01 03:42:14 +0000
commita800434a82af8dbd59da7c27b382c9897dd90150 (patch)
tree90cbe59a1578aec7e827685e3f86a99db5f3f4a0 /flist.c
parent3b3c3d43904091669895a1687ad44005899c0964 (diff)
downloadrsync-a800434a82af8dbd59da7c27b382c9897dd90150.tar.gz
added --stats option for verbose stats on the file transfer
Diffstat (limited to 'flist.c')
-rw-r--r--flist.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/flist.c b/flist.c
index 138894f7..7a0db274 100644
--- a/flist.c
+++ b/flist.c
@@ -21,12 +21,13 @@
#include "rsync.h"
+extern struct stats stats;
+
extern int csum_length;
extern int verbose;
extern int am_server;
extern int always_checksum;
-extern int64 total_size;
extern int cvs_exclude;
@@ -421,7 +422,7 @@ static struct file_struct *make_file(char *fname)
}
if (!S_ISDIR(st.st_mode))
- total_size += st.st_size;
+ stats.total_size += st.st_size;
return file;
}
@@ -525,12 +526,15 @@ struct file_list *send_file_list(int f,int argc,char *argv[])
char *p,*dir;
char lastpath[MAXPATHLEN]="";
struct file_list *flist;
+ int64 start_write;
if (verbose && recurse && !am_server && f != -1) {
rprintf(FINFO,"building file list ... ");
rflush(FINFO);
}
+ start_write = stats.total_written;
+
flist = (struct file_list *)malloc(sizeof(flist[0]));
if (!flist) out_of_memory("send_file_list");
@@ -651,6 +655,8 @@ struct file_list *send_file_list(int f,int argc,char *argv[])
if (f != -1) {
io_end_buffering(f);
+ stats.flist_size = stats.total_written - start_write;
+ stats.num_files = flist->count;
}
if (verbose > 2)
@@ -664,12 +670,15 @@ struct file_list *recv_file_list(int f)
{
struct file_list *flist;
unsigned char flags;
+ int64 start_read;
if (verbose && recurse && !am_server) {
rprintf(FINFO,"receiving file list ... ");
rflush(FINFO);
}
+ start_read = stats.total_read;
+
flist = (struct file_list *)malloc(sizeof(flist[0]));
if (!flist)
goto oom;
@@ -700,7 +709,7 @@ struct file_list *recv_file_list(int f)
receive_file_entry(&flist->files[i],flags,f);
if (S_ISREG(flist->files[i]->mode))
- total_size += flist->files[i]->length;
+ stats.total_size += flist->files[i]->length;
flist->count++;
@@ -731,6 +740,9 @@ struct file_list *recv_file_list(int f)
if (verbose > 2)
rprintf(FINFO,"recv_file_list done\n");
+ stats.flist_size = stats.total_read - start_read;
+ stats.num_files = flist->count;
+
return flist;
oom: