Check robust_rename()'s return value using < 0.
authorWayne Davison <wayned@samba.org>
Sat, 13 Mar 2004 20:18:03 +0000 (20:18 +0000)
committerWayne Davison <wayned@samba.org>
Sat, 13 Mar 2004 20:18:03 +0000 (20:18 +0000)
backup.c
rsync.c

index 56e26e1051171fff5223bef1b99a94d852a9b33a..43bba13b2dabab36b0552395bb3c37c8c17c4122 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)
 {
 /* 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;
 }
                return -1;
        return 0;
 }
diff --git a/rsync.c b/rsync.c
index f100491975016782d89d689cc0b70beb9ac22465..f91cda59ea23f7c226b0eb57a9cb5b9ed089074b 100644 (file)
--- a/rsync.c
+++ b/rsync.c
@@ -237,7 +237,7 @@ void finish_transfer(char *fname, char *fnametmp, struct file_struct *file)
 
        /* move tmp file over real file */
        ret = robust_rename(fnametmp, fname, file->mode & INITACCESSPERMS);
 
        /* move tmp file over real file */
        ret = robust_rename(fnametmp, fname, file->mode & INITACCESSPERMS);
-       if (ret != 0) {
+       if (ret < 0) {
                rprintf(FERROR, "%s %s -> \"%s\": %s\n",
                    ret == -2 ? "copy" : "rename",
                    full_fname(fnametmp), fname, strerror(errno));
                rprintf(FERROR, "%s %s -> \"%s\": %s\n",
                    ret == -2 ? "copy" : "rename",
                    full_fname(fnametmp), fname, strerror(errno));