Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Moved the reading of the final MSG_DONE message here from main.c
[rsync/rsync.git]
/
receiver.c
diff --git
a/receiver.c
b/receiver.c
index
569b8fb
..
f10f25d
100644
(file)
--- a/
receiver.c
+++ b/
receiver.c
@@
-39,7
+39,7
@@
extern int cvs_exclude;
extern int io_error;
extern char *tmpdir;
extern char *partial_dir;
extern int io_error;
extern char *tmpdir;
extern char *partial_dir;
-extern char *
compare_dest
;
+extern char *
basis_dir[]
;
extern int make_backups;
extern int do_progress;
extern char *backup_dir;
extern int make_backups;
extern int do_progress;
extern char *backup_dir;
@@
-209,17
+209,17
@@
static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
static char file_sum2[MD4_SUM_LENGTH];
struct map_struct *mapbuf;
struct sum_struct sum;
static char file_sum2[MD4_SUM_LENGTH];
struct map_struct *mapbuf;
struct sum_struct sum;
-
unsigned int
len;
+
int32
len;
OFF_T offset = 0;
OFF_T offset2;
char *data;
OFF_T offset = 0;
OFF_T offset2;
char *data;
- int i;
+ int
32
i;
char *map = NULL;
read_sum_head(f_in, &sum);
if (fd_r >= 0 && size_r > 0) {
char *map = NULL;
read_sum_head(f_in, &sum);
if (fd_r >= 0 && size_r > 0) {
- OFF_T map_size = MAX(sum.blength * 2, 16*1024);
+ OFF_T map_size = MAX(
(OFF_T)
sum.blength * 2, 16*1024);
mapbuf = map_file(fd_r, size_r, map_size, sum.blength);
if (verbose > 2) {
rprintf(FINFO, "recv mapped %s of size %.0f\n",
mapbuf = map_file(fd_r, size_r, map_size, sum.blength);
if (verbose > 2) {
rprintf(FINFO, "recv mapped %s of size %.0f\n",
@@
-243,7
+243,7
@@
static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
stats.literal_data += i;
cleanup_got_literal = 1;
stats.literal_data += i;
cleanup_got_literal = 1;
- sum_update(data,i);
+ sum_update(data,
i);
if (fd != -1 && write_file(fd,data,i) != i)
goto report_write_error;
if (fd != -1 && write_file(fd,data,i) != i)
goto report_write_error;
@@
-252,22
+252,24
@@
static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
}
i = -(i+1);
}
i = -(i+1);
- offset2 = i
*
(OFF_T)sum.blength;
+ offset2 = i
*
(OFF_T)sum.blength;
len = sum.blength;
if (i == (int)sum.count-1 && sum.remainder != 0)
len = sum.remainder;
stats.matched_data += len;
len = sum.blength;
if (i == (int)sum.count-1 && sum.remainder != 0)
len = sum.remainder;
stats.matched_data += len;
- if (verbose > 3)
- rprintf(FINFO,"chunk[%d] of size %d at %.0f offset=%.0f\n",
- i,len,(double)offset2,(double)offset);
+ if (verbose > 3) {
+ rprintf(FINFO,
+ "chunk[%d] of size %ld at %.0f offset=%.0f\n",
+ i, (long)len, (double)offset2, (double)offset);
+ }
if (mapbuf) {
map = map_ptr(mapbuf,offset2,len);
see_token(map, len);
if (mapbuf) {
map = map_ptr(mapbuf,offset2,len);
see_token(map, len);
- sum_update(map,len);
+ sum_update(map,
len);
}
if (inplace) {
}
if (inplace) {
@@
-289,7
+291,8
@@
static int receive_data(int f_in, char *fname_r, int fd_r, OFF_T size_r,
offset += len;
}
offset += len;
}
- flush_write_file(fd);
+ if (flush_write_file(fd) < 0)
+ goto report_write_error;
#ifdef HAVE_FTRUNCATE
if (inplace && fd != -1)
#ifdef HAVE_FTRUNCATE
if (inplace && fd != -1)
@@
-439,7
+442,8
@@
int recv_files(int f_in, struct file_list *flist, char *local_name,
partialptr = partial_dir ? partial_dir_fname(fname) : fname;
if (f_in_name >= 0) {
partialptr = partial_dir ? partial_dir_fname(fname) : fname;
if (f_in_name >= 0) {
- switch (read_byte(f_in_name)) {
+ uchar j;
+ switch (j = read_byte(f_in_name)) {
case FNAMECMP_FNAME:
fnamecmp = fname;
break;
case FNAMECMP_FNAME:
fnamecmp = fname;
break;
@@
-449,10
+453,10
@@
int recv_files(int f_in, struct file_list *flist, char *local_name,
case FNAMECMP_BACKUP:
fnamecmp = get_backup_name(fname);
break;
case FNAMECMP_BACKUP:
fnamecmp = get_backup_name(fname);
break;
- case FNAMECMP_
CMPDEST
:
+ case FNAMECMP_
BASIS_DIR
:
default:
pathjoin(fnamecmpbuf, sizeof fnamecmpbuf,
default:
pathjoin(fnamecmpbuf, sizeof fnamecmpbuf,
-
compare_dest
, fname);
+
basis_dir[j]
, fname);
fnamecmp = fnamecmpbuf;
break;
}
fnamecmp = fnamecmpbuf;
break;
}