if (!(flags & XMIT_SAME_MODE))
mode = from_wire_mode(read_int(f));
- if (chmod_modes && (S_ISREG(mode) || S_ISDIR(mode)))
+ if (chmod_modes && !S_ISLNK(mode))
mode = tweak_mode(mode, chmod_modes);
if (preserve_uid && !(flags & XMIT_SAME_UID))
* into a mount-point directory, not to avoid copying a symlinked
* file if -L (or similar) was specified. */
if (one_file_system && st.st_dev != filesystem_dev
- && S_ISDIR(st.st_mode)) {
- if (one_file_system > 1)
+ && S_ISDIR(st.st_mode)) {
+ if (one_file_system > 1) {
+ if (verbose > 2) {
+ rprintf(FINFO, "skipping mount-point dir %s\n",
+ thisname);
+ }
return NULL;
+ }
flags |= FLAG_MOUNT_POINT;
}
if (!file)
return NULL;
- if (chmod_modes && (S_ISREG(file->mode) || S_ISDIR(file->mode)))
+ if (chmod_modes && !S_ISLNK(file->mode))
file->mode = tweak_mode(file->mode, chmod_modes);
maybe_emit_filelist_progress(flist->count + flist_count_offset);