1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-21 03:12:48 +02:00

(rename): Use stat, not safe_stat.

(rename): Compare src and dest inode numbers rather than src
inode and dest *dev* when determining whether src and dest refer
to the same file.  From marc@math.cornell.edu (Marc Parmet).
This commit is contained in:
Jim Meyering
1995-05-13 13:19:07 +00:00
parent b3fc4e375f
commit eec5824b1a

View File

@@ -47,13 +47,13 @@ rename (from, to)
struct stat from_stats, to_stats;
int pid, status;
if (safe_stat (from, &from_stats))
if (stat (from, &from_stats))
return -1;
/* Be careful not to unlink `from' if it happens to be equal to `to' or
(on filesystems that silently truncate filenames after 14 characters)
if `from' and `to' share the significant characters. */
if (safe_stat (to, &to_stats))
if (stat (to, &to_stats))
{
if (errno != ENOENT)
return -1;
@@ -61,7 +61,7 @@ rename (from, to)
else
{
if ((from_stats.st_dev == to_stats.st_dev)
&& (from_stats.st_ino == to_stats.st_dev))
&& (from_stats.st_ino == to_stats.st_ino))
/* `from' and `to' designate the same file on that filesystem. */
return 0;