/* This is only called when we aren't preserving permissions. Figure out what
* the permissions should be and return them merged back into the mode. */
/* This is only called when we aren't preserving permissions. Figure out what
* the permissions should be and return them merged back into the mode. */
{
/* If the file already exists, we'll return the local permissions,
* possibly tweaked by the --executability option. */
{
/* If the file already exists, we'll return the local permissions,
* possibly tweaked by the --executability option. */
* rights to everyone who can read, but ONLY if the
* file isn't already executable. */
if (!(flist_mode & 0111))
* rights to everyone who can read, but ONLY if the
* file isn't already executable. */
if (!(flist_mode & 0111))
- dest_mode = flist_mode & ACCESSPERMS & ~orig_umask;
- return (flist_mode & ~CHMOD_BITS) | (dest_mode & CHMOD_BITS);
+ cur_mode = flist_mode & ACCESSPERMS & ~orig_umask;
+ return (flist_mode & ~CHMOD_BITS) | (cur_mode & CHMOD_BITS);
}
int set_file_attrs(char *fname, struct file_struct *file, STRUCT_STAT *st,
}
int set_file_attrs(char *fname, struct file_struct *file, STRUCT_STAT *st,