+ } else if (IS_SPECIAL(file->mode)) {
+ if (!IS_SPECIAL(st.st_mode) || st.st_rdev != file->u.rdev)
+ continue;
+ } else if (IS_DEVICE(file->mode)) {
+ if (!IS_DEVICE(st.st_mode) || st.st_rdev != file->u.rdev)
+ continue;
+ } else {
+ rprintf(FERROR,
+ "internal: try_dests_non() called with invalid mode (%o)\n",
+ file->mode);
+ exit_cleanup(RERR_UNSUPPORTED);
+ }
+ if (link_dest
+#ifndef CAN_HARDLINK_SYMLINK
+ && !S_ISLNK(file->mode)