X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/9b594a530ffdac3a7ec919fe891bda154fd297b0..4591bb2f6651cf8efd707b6b815a3d62a1c9c418:/backup.c diff --git a/backup.c b/backup.c index 937f1be2..e535e6f5 100644 --- a/backup.c +++ b/backup.c @@ -98,7 +98,7 @@ static BOOL copy_valid_path(const char *fname) for ( ; b; name = b + 1, b = strchr(name, '/')) { *b = '\0'; - while (mkdir_defmode(backup_dir_buf) < 0) { + while (do_mkdir(backup_dir_buf, ACCESSPERMS) < 0) { if (errno == EEXIST) { val = validate_backup_dir(); if (val > 0) @@ -160,13 +160,13 @@ char *get_backup_name(const char *fname) /* copy fname into backup_dir_buf while validating the dirs. */ if (copy_valid_path(fname)) return backup_dir_buf; + /* copy_valid_path() has printed an error message. */ return NULL; - } else { - if (stringjoin(backup_dir_buf, MAXPATHLEN, - fname, backup_suffix, NULL) < MAXPATHLEN) - return backup_dir_buf; } + if (stringjoin(backup_dir_buf, MAXPATHLEN, fname, backup_suffix, NULL) < MAXPATHLEN) + return backup_dir_buf; + rprintf(FERROR, "backup filename too long\n"); return NULL; } @@ -276,8 +276,8 @@ int make_backup(const char *fname, BOOL prefer_rename) const char *sl = F_SYMLINK(file); if (safe_symlinks && unsafe_symlink(sl, fname)) { if (INFO_GTE(SYMSAFE, 1)) { - rprintf(FINFO, "ignoring unsafe symlink %s -> %s\n", - full_fname(buf), sl); + rprintf(FINFO, "not backing up unsafe symlink \"%s\" -> \"%s\"\n", + fname, sl); } ret = 2; } else {