separated out the make_backup code in preparation for some patches
[rsync/rsync.git] / rsync.c
diff --git a/rsync.c b/rsync.c
index 87a8056..5a02979 100644 (file)
--- a/rsync.c
+++ b/rsync.c
@@ -30,7 +30,6 @@ extern int preserve_uid;
 extern int preserve_gid;
 extern int preserve_perms;
 extern int make_backups;
-extern char *backup_suffix;
 
 
 /*
@@ -57,7 +56,7 @@ int delete_file(char *fname)
        int ret;
        extern int recurse;
 
-       if (do_unlink(fname) == 0 || errno == ENOENT) return 0;
+       if (robust_unlink(fname) == 0 || errno == ENOENT) return 0;
 
 #if SUPPORT_LINKS
        ret = do_lstat(fname, &st);
@@ -232,26 +231,6 @@ void sig_int(void)
        exit_cleanup(RERR_SIGNAL);
 }
 
-int make_backup(char *fname)
-{
-       char fnamebak[MAXPATHLEN];
-       if (strlen(fname) + strlen(backup_suffix) > (MAXPATHLEN-1)) {
-               rprintf(FERROR,"backup filename too long\n");
-               return 0;
-       }
-
-       slprintf(fnamebak,sizeof(fnamebak),"%s%s",fname,backup_suffix);
-       if (do_rename(fname,fnamebak) != 0) {
-               if (errno != ENOENT) {
-                       rprintf(FERROR,"rename %s %s : %s\n",fname,fnamebak,strerror(errno));
-                       return 0;
-               }
-       } else if (verbose > 1) {
-               rprintf(FINFO,"backed up %s to %s\n",fname,fnamebak);
-       }
-       return 1;
-}
-
 
 /* finish off a file transfer, renaming the file and setting the permissions
    and ownership */
@@ -261,7 +240,7 @@ void finish_transfer(char *fname, char *fnametmp, struct file_struct *file)
                return;
 
        /* move tmp file over real file */
-       if (do_rename(fnametmp,fname) != 0) {
+       if (robust_rename(fnametmp,fname) != 0) {
                if (errno == EXDEV) {
                        /* rename failed on cross-filesystem link.  
                           Copy the file instead. */
@@ -271,12 +250,11 @@ void finish_transfer(char *fname, char *fnametmp, struct file_struct *file)
                        } else {
                                set_perms(fname,file,NULL,0);
                        }
-                       do_unlink(fnametmp);
                } else {
                        rprintf(FERROR,"rename %s -> %s : %s\n",
                                fnametmp,fname,strerror(errno));
-                       do_unlink(fnametmp);
                }
+               do_unlink(fnametmp);
        } else {
                set_perms(fname,file,NULL,0);
        }