mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-05-19 12:25:42 -04:00
The suffix must be non-empty if the backup-dir is the same as the dest
dir.
This commit is contained in:
6
main.c
6
main.c
@@ -825,10 +825,8 @@ static int do_recv(int f_in, int f_out, char *local_name)
|
||||
exit_cleanup(RERR_SYNTAX);
|
||||
if (ret)
|
||||
rprintf(FINFO, "Created backup_dir %s\n", backup_dir_buf);
|
||||
else if (INFO_GTE(BACKUP, 1)) {
|
||||
char *dir = *backup_dir_buf ? backup_dir_buf : ".";
|
||||
rprintf(FINFO, "backup_dir is %s\n", dir);
|
||||
}
|
||||
else if (INFO_GTE(BACKUP, 1))
|
||||
rprintf(FINFO, "backup_dir is %s\n", backup_dir_buf);
|
||||
}
|
||||
|
||||
io_flush(NORMAL_FLUSH);
|
||||
|
||||
12
options.c
12
options.c
@@ -2008,13 +2008,21 @@ int parse_arguments(int *argc_p, const char ***argv_p)
|
||||
"the --backup-dir path is WAY too long.\n");
|
||||
return 0;
|
||||
}
|
||||
if (backup_dir_len && backup_dir_buf[backup_dir_len - 1] != '/') {
|
||||
if (!backup_dir_len) {
|
||||
backup_dir_len = -1;
|
||||
backup_dir = NULL;
|
||||
} else if (backup_dir_buf[backup_dir_len - 1] != '/') {
|
||||
backup_dir_buf[backup_dir_len++] = '/';
|
||||
backup_dir_buf[backup_dir_len] = '\0';
|
||||
}
|
||||
}
|
||||
if (backup_dir) {
|
||||
/* No need for a suffix or a protect rule. */
|
||||
} else if (!backup_suffix_len && (!am_server || !am_sender)) {
|
||||
snprintf(err_buf, sizeof err_buf,
|
||||
"--suffix cannot be a null string without --backup-dir\n");
|
||||
"--suffix cannot be empty %s\n", backup_dir_len < 0
|
||||
? "when --backup-dir is the same as the dest dir"
|
||||
: "without a --backup-dir");
|
||||
return 0;
|
||||
} else if (make_backups && delete_mode && !delete_excluded && !am_server) {
|
||||
snprintf(backup_dir_buf, sizeof backup_dir_buf,
|
||||
|
||||
Reference in New Issue
Block a user