X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/d853783f213a67f9461c1f72eb612bc3c99f87be..0199b05f25ec271a4d306ec46218ba4fcb8ad85a:/rsync.c diff --git a/rsync.c b/rsync.c index 0ed4a58b..f5a1f48c 100644 --- a/rsync.c +++ b/rsync.c @@ -698,7 +698,7 @@ static void delete_one(struct file_struct *f) static struct delete_list { dev_t dev; - ino_t inode; + INO_T inode; } *delete_list; static int dlist_len, dlist_alloc_len; @@ -855,7 +855,7 @@ static void finish_transfer(char *fname, char *fnametmp, struct file_struct *fil if (errno == EXDEV) { /* rename failed on cross-filesystem link. Copy the file instead. */ - if (copy_file(fnametmp,fname, file->mode)) { + if (copy_file(fnametmp,fname, file->mode & ACCESSPERMS)) { rprintf(FERROR,"copy %s -> %s : %s\n", fnametmp,fname,strerror(errno)); } else { @@ -961,7 +961,7 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen) if (!get_tmpname(fnametmp,fname)) { if (buf) unmap_file(buf); - close(fd1); + if (fd1 != -1) close(fd1); continue; } @@ -969,7 +969,7 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen) rprintf(FERROR,"mktemp %s failed\n",fnametmp); receive_data(f_in,buf,-1,NULL,file->length); if (buf) unmap_file(buf); - close(fd1); + if (fd1 != -1) close(fd1); continue; } @@ -990,7 +990,7 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen) rprintf(FERROR,"open %s : %s\n",fnametmp,strerror(errno)); receive_data(f_in,buf,-1,NULL,file->length); if (buf) unmap_file(buf); - close(fd1); + if (fd1 != -1) close(fd1); continue; }