From: Wayne Davison Date: Sat, 13 Mar 2004 20:18:03 +0000 (+0000) Subject: Check robust_rename()'s return value using < 0. X-Git-Tag: v2.6.1pre1~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3d061653890e25fd95186d521a2d1dc5ea4d76e7;p=thirdparty%2Frsync.git Check robust_rename()'s return value using < 0. --- diff --git a/backup.c b/backup.c index 56e26e10..43bba13b 100644 --- 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; } diff --git a/rsync.c b/rsync.c index f1004919..f91cda59 100644 --- 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); - if (ret != 0) { + if (ret < 0) { rprintf(FERROR, "%s %s -> \"%s\": %s\n", ret == -2 ? "copy" : "rename", full_fname(fnametmp), fname, strerror(errno));