Check robust_rename()'s return value using < 0.
[rsync/rsync.git] / backup.c
index 56e26e1..43bba13 100644 (file)
--- a/backup.c
+++ b/backup.c
@@ -130,8 +130,8 @@ failure:
 /* robustly move a file, creating new directory structures if necessary */
 static int robust_move(char *src, char *dst)
 {
-       if (robust_rename(src, dst, 0755) != 0 && (errno != ENOENT
-           || make_bak_dir(dst) < 0 || robust_rename(src, dst, 0755) != 0))
+       if (robust_rename(src, dst, 0755) < 0 && (errno != ENOENT
+           || make_bak_dir(dst) < 0 || robust_rename(src, dst, 0755) < 0))
                return -1;
        return 0;
 }