If /tmp and /home were different partitions, then "mv /tmp/file /home/file"

would delete /home/file even if /tmp/file didn't exist.

This fixes that, although the logic of both mv and cp is a bit tangled and
should probably be untangled.
This commit is contained in:
Rob Landley 2005-07-20 00:45:40 +00:00
parent c337d29550
commit 3c12ff7c89

View File

@ -99,10 +99,10 @@ DO_MOVE:
struct stat source_stat; struct stat source_stat;
int source_exists; int source_exists;
if (errno != EXDEV) { if (errno != EXDEV ||
(source_exists = cp_mv_stat(*argv, &source_stat)) < 1) {
bb_perror_msg("unable to rename `%s'", *argv); bb_perror_msg("unable to rename `%s'", *argv);
} } else {
else if ((source_exists = cp_mv_stat(*argv, &source_stat)) >= 0) {
if (dest_exists) { if (dest_exists) {
if (dest_exists == 3) { if (dest_exists == 3) {
if (source_exists != 3) { if (source_exists != 3) {