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;
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;
- int i;
+ int32 i;
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",
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;
}
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;
- 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);
- sum_update(map,len);
+ sum_update(map, len);
}
if (inplace) {
offset += len;
}
- flush_write_file(fd);
+ if (flush_write_file(fd) < 0)
+ goto report_write_error;
#ifdef HAVE_FTRUNCATE
if (inplace && fd != -1)
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_BACKUP:
fnamecmp = get_backup_name(fname);
break;
- case FNAMECMP_CMPDEST:
+ case FNAMECMP_BASIS_DIR:
default:
pathjoin(fnamecmpbuf, sizeof fnamecmpbuf,
- compare_dest, fname);
+ basis_dir[j], fname);
fnamecmp = fnamecmpbuf;
break;
}