X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/c94e4afbfacd735ea6d9769cc947f391a2f4457a..82471e68a8bb3da8ca95f2b6564c330c52ce891e:/backup.c diff --git a/backup.c b/backup.c index 1fcb82a6..c909a940 100644 --- a/backup.c +++ b/backup.c @@ -38,16 +38,14 @@ extern int safe_symlinks; /* make a complete pathname for backup file */ char *get_backup_name(char *fname) { - static char fnamebak[MAXPATHLEN]; - if (backup_dir) { if (stringjoin(backup_dir_buf + backup_dir_len, backup_dir_remainder, fname, backup_suffix, NULL) < backup_dir_remainder) return backup_dir_buf; } else { - if (stringjoin(fnamebak, sizeof fnamebak, - fname, backup_suffix, NULL) < sizeof fnamebak) - return fnamebak; + if (stringjoin(backup_dir_buf, MAXPATHLEN, + fname, backup_suffix, NULL) < MAXPATHLEN) + return backup_dir_buf; } rprintf(FERROR, "backup filename too long\n"); @@ -164,12 +162,7 @@ static int keep_backup(char *fname) int ret_code; /* return if no file to keep */ -#if SUPPORT_LINKS - ret_code = do_lstat(fname, &st); -#else - ret_code = do_stat(fname, &st); -#endif - if (ret_code < 0) + if (do_lstat(fname, &st) < 0) return 1; if (!(file = make_file(fname, NULL, NO_EXCLUDES))) @@ -178,7 +171,6 @@ static int keep_backup(char *fname) if (!(buf = get_backup_name(fname))) return 0; -#ifdef HAVE_MKNOD /* Check to see if this is a device file, or link */ if (IS_DEVICE(file->mode)) { if (am_root && preserve_devices) { @@ -196,7 +188,6 @@ static int keep_backup(char *fname) kept = 1; do_unlink(fname); } -#endif if (!kept && S_ISDIR(file->mode)) { /* make an empty directory */ @@ -256,7 +247,7 @@ static int keep_backup(char *fname) free(file); if (verbose > 1) - rprintf(FINFO, "keep_backup %s -> %s\n", fname, buf); + rprintf(FINFO, "backed up %s to %s\n", fname, buf); return 1; }