offset += s->sums[i].len;
if (verbose > 3)
- rprintf(FINFO,"chunk[%d] len=%d offset=%d sum1=%08x\n",
- i,s->sums[i].len,(int)s->sums[i].offset,s->sums[i].sum1);
+ rprintf(FINFO,"chunk[%d] len=%d offset=%.0f sum1=%08x\n",
+ i,s->sums[i].len,(double)s->sums[i].offset,s->sums[i].sum1);
}
s->flength = offset;
if (verbose > 2)
rprintf(FINFO,"send_files starting\n");
- setup_readbuffer(f_in);
-
while (1) {
int offset=0;
if (i < 0 || i >= flist->count) {
rprintf(FERROR,"Invalid file index %d (count=%d)\n",
i, flist->count);
- exit_cleanup(1);
+ exit_cleanup(RERR_PROTOCOL);
}
file = flist->files[i];
fname[0] = 0;
if (file->basedir) {
- strlcpy(fname,file->basedir,MAXPATHLEN-1);
+ strlcpy(fname,file->basedir,MAXPATHLEN);
if (strlen(fname) == MAXPATHLEN-1) {
io_error = 1;
rprintf(FERROR, "send_files failed on long-named directory %s\n",
fname);
return;
}
- strlcat(fname,"/",MAXPATHLEN-1);
+ strlcat(fname,"/",MAXPATHLEN);
offset = strlen(file->basedir)+1;
}
- strlcat(fname,f_name(file),MAXPATHLEN-strlen(fname));
+ strlcat(fname,f_name(file),MAXPATHLEN);
if (verbose > 2)
rprintf(FINFO,"send_files(%d,%s)\n",i,fname);
return;
}
- fd = open(fname,O_RDONLY);
+ fd = do_open(fname, O_RDONLY, 0);
if (fd == -1) {
io_error = 1;
rprintf(FERROR,"send_files failed to open %s: %s\n",
}
if (verbose > 2)
- rprintf(FINFO,"send_files mapped %s of size %d\n",
- fname,(int)st.st_size);
+ rprintf(FINFO,"send_files mapped %s of size %.0f\n",
+ fname,(double)st.st_size);
write_int(f_out,i);
if (!am_server) {
log_transfer(file, fname+offset);
}
+
+ set_compression(fname);
match_sums(f_out,s,buf,st.st_size);