- } else
- flags &= ~FLAG_XFER_DIR;
-
- /* -x only affects directories because we need to avoid recursing
- * into a mount-point directory, not to avoid copying a symlinked
- * file if -L (or similar) was specified. */
- if (one_file_system && S_ISDIR(st.st_mode)) {
- if (flags & FLAG_TOP_DIR)
- filesystem_dev = st.st_dev;
- else if (st.st_dev != filesystem_dev) {
+ /* -x only affects dirs because we need to avoid recursing
+ * 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
+ && BITS_SETnUNSET(flags, FLAG_CONTENT_DIR, FLAG_TOP_DIR)) {