X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/a60e2dca6b475e41882d9070c90079dfedf6b5bc..0d6e308b51a42bec6b312b06d949647a59bcbe1e:/rsync.c diff --git a/rsync.c b/rsync.c index 9bd7e421..df52b698 100644 --- a/rsync.c +++ b/rsync.c @@ -26,6 +26,9 @@ extern int verbose; extern int dry_run; extern int preserve_times; extern int am_root; +extern int am_server; +extern int am_sender; +extern int am_generator; extern int preserve_uid; extern int preserve_gid; extern int preserve_perms; @@ -93,7 +96,7 @@ int delete_file(char *fname) if (strcmp(dname,".") == 0 || strcmp(dname,"..") == 0) continue; - snprintf(buf, sizeof(buf), "%s/%s", fname, dname); + pathjoin(buf, sizeof buf, fname, dname); if (verbose > 0) rprintf(FINFO,"deleting %s\n", buf); if (delete_file(buf) != 0) { @@ -160,7 +163,8 @@ int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st, change_gid?file->gid:st->st_gid) != 0) { /* shouldn't have attempted to change uid or gid unless have the privilege */ - rprintf(FERROR, "chown %s failed: %s\n", + rprintf(FERROR, "%s %s failed: %s\n", + change_uid ? "chown" : "chgrp", full_fname(fname), strerror(errno)); return 0; } @@ -239,3 +243,8 @@ void finish_transfer(char *fname, char *fnametmp, struct file_struct *file) set_perms(fname,file,NULL,0); } } + +const char *who_am_i(void) +{ + return am_sender ? "sender" : am_generator ? "generator" : "receiver"; +}