From: Jim Meyering Date: Thu, 11 Nov 1999 13:19:36 +0000 (+0000) Subject: (copy_internal): Treat src and dest as the `same' in X-Git-Tag: FILEUTILS-4_0j-trial~29 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1b6c640f464fe3bf8b2923d5be4e6d30460794f5;p=thirdparty%2Fcoreutils.git (copy_internal): Treat src and dest as the `same' in `mv src symlink-to-src' when src and dest are on different partitions. Otherwise, that `mv' command would silently remove `src'. Reported by Michael Stone. --- diff --git a/src/copy.c b/src/copy.c index e06acc14a7..9d8c0c070b 100644 --- a/src/copy.c +++ b/src/copy.c @@ -429,9 +429,11 @@ copy_internal (const char *src_path, const char *dst_path, && ! x->force /* Allow them to be the same (and don't set `same') if - we're in move mode and the target is a symlink. */ + we're in move mode and the target is a symlink + on the same partition. */ && !(move_mode - && S_ISLNK (dst_sb.st_mode)) + && S_ISLNK (dst_sb.st_mode) + && src_sb.st_dev == dst_sb.st_dev) /* If we're making a backup, we'll detect the problem case in copy_reg because SRC_PATH will no longer exist. Allowing