if ((am_root && preserve_uid && st->st_uid != file->uid) ||
(preserve_gid && st->st_gid != file->gid)) {
- updated = 1;
- if (do_lchown(fname,
- (am_root&&preserve_uid)?file->uid:-1,
- preserve_gid?file->gid:-1) != 0) {
- if (verbose>1 || preserve_uid)
- fprintf(FERROR,"chown %s : %s\n",fname,strerror(errno));
- return updated;
- }
+ if (do_lchown(fname,
+ (am_root&&preserve_uid)?file->uid:-1,
+ preserve_gid?file->gid:-1) != 0) {
+ if (preserve_uid && st->st_uid != file->uid)
+ updated = 1;
+ if (verbose>1 || preserve_uid)
+ fprintf(FERROR,"chown %s : %s\n",
+ fname,strerror(errno));
+ return updated;
+ }
+ updated = 1;
}
if (verbose > 1 && report) {
- if (updated)
- fprintf(FINFO,"%s\n",fname);
- else
- fprintf(FINFO,"%s is uptodate\n",fname);
+ if (updated)
+ fprintf(FINFO,"%s\n",fname);
+ else
+ fprintf(FINFO,"%s is uptodate\n",fname);
}
return updated;
}
-off_t send_files(struct file_list *flist,int f_out,int f_in)
+void send_files(struct file_list *flist,int f_out,int f_in)
{
int fd;
struct sum_struct *s;
struct map_struct *buf;
struct stat st;
char fname[MAXPATHLEN];
- off_t total=0;
int i;
struct file_struct *file;
int phase = 0;
if (strlen(fname) == MAXPATHLEN-1) {
fprintf(FERROR, "send_files failed on long-named directory %s\n",
fname);
- return -1;
+ return;
}
strcat(fname,"/");
offset = strlen(file->basedir)+1;
s = receive_sums(f_in);
if (!s) {
fprintf(FERROR,"receive_sums failed\n");
- return -1;
+ return;
}
fd = open(fname,O_RDONLY);
fprintf(FERROR,"fstat failed : %s\n",strerror(errno));
free_sums(s);
close(fd);
- return -1;
+ return;
}
if (st.st_size > 0) {
if (verbose > 2)
fprintf(FERROR,"sender finished %s\n",fname);
-
- total += st.st_size;
}
if (verbose > 2)
write_int(f_out,-1);
write_flush(f_out);
-
- return total;
}