mv: Ensure stat is initialized when we prune a tree

This can happen if you move a file from one filesystem to another.
rename(2) will fail and we will fall through to a manual cp + rm.
Initiate the rm through recurse() like we do for rm(1).

Thanks to Heiko for reporting this.
This commit is contained in:
sin 2015-11-13 14:12:09 +00:00
parent debf9d2275
commit 2f4ab52739

2
mv.c
View File

@ -21,7 +21,7 @@ mv(const char *s1, const char *s2, int depth)
cp_aflag = cp_rflag = cp_pflag = 1; cp_aflag = cp_rflag = cp_pflag = 1;
cp_follow = 'P'; cp_follow = 'P';
cp(s1, s2, depth); cp(s1, s2, depth);
rm(s1, NULL, NULL, &r); recurse(s1, NULL, &r);
return (mv_status = cp_status || rm_status); return (mv_status = cp_status || rm_status);
} }
mv_status = 1; mv_status = 1;