(rename): Use stat, not safe_stat.
authorJim Meyering <jim@meyering.net>
Sat, 13 May 1995 13:19:07 +0000 (13:19 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 13 May 1995 13:19:07 +0000 (13:19 +0000)
(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).

lib/rename.c

index 4759508..a87ff19 100644 (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;