X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/53dd3135f13728fbcfce4c85773d9fc97cfce714..5865fcdd6370cef7d3a4997500a9a28f3114ad7f:/rsync.c diff --git a/rsync.c b/rsync.c index 0bb9f743..3f79f504 100644 --- a/rsync.c +++ b/rsync.c @@ -149,8 +149,8 @@ int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st, ((am_root && preserve_uid && st->st_uid != file->uid) || (preserve_gid && st->st_gid != file->gid))) { if (do_lchown(fname, - (am_root&&preserve_uid)?file->uid:-1, - preserve_gid?file->gid:-1) != 0) { + (am_root&&preserve_uid)?file->uid:st->st_uid, + preserve_gid?file->gid:st->st_gid) != 0) { if (preserve_uid && st->st_uid != file->uid) updated = 1; if (verbose>1 || preserve_uid) { @@ -199,10 +199,10 @@ int make_backup(char *fname) return 0; } - slprintf(fnamebak,sizeof(fnamebak)-1,"%s%s",fname,backup_suffix); + 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)); + rprintf(FERROR,"rename %s %s : %s\n",fname,fnamebak,strerror(errno)); return 0; } } else if (verbose > 1) {