X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/c94e4afbfacd735ea6d9769cc947f391a2f4457a..c72f5bd9c4e60584cf574fc677883b5df4fe098e:/backup.c diff --git a/backup.c b/backup.c index 1fcb82a6..0dd4c561 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"); @@ -178,7 +176,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 +193,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 +252,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; }