extern int preserve_gid;
extern int preserve_perms;
extern int make_backups;
-extern char *backup_suffix;
/*
#ifdef HAVE_CHMOD
if (!S_ISLNK(st->st_mode)) {
- int file_mode;
- if (preserve_perms)
- file_mode = file->mode;
- else
- file_mode = file->mode & ACCESSPERMS;
if (st->st_mode != file->mode) {
updated = 1;
- if (do_chmod(fname,file_mode) != 0) {
+ if (do_chmod(fname,file->mode) != 0) {
rprintf(FERROR,"failed to set permissions on %s : %s\n",
fname,strerror(errno));
return 0;
exit_cleanup(RERR_SIGNAL);
}
-int make_backup(char *fname)
-{
- char fnamebak[MAXPATHLEN];
- if (strlen(fname) + strlen(backup_suffix) > (MAXPATHLEN-1)) {
- rprintf(FERROR,"backup filename too long\n");
- return 0;
- }
-
- slprintf(fnamebak,sizeof(fnamebak),"%s%s",fname,backup_suffix);
- if (do_rename(fname,fnamebak) != 0) {
- /* cygwin (at least version b19) reports EINVAL */
- if (errno != ENOENT && errno != EINVAL) {
- rprintf(FERROR,"rename %s %s : %s\n",fname,fnamebak,strerror(errno));
- return 0;
- }
- } else if (verbose > 1) {
- rprintf(FINFO,"backed up %s to %s\n",fname,fnamebak);
- }
- return 1;
-}
-
/* finish off a file transfer, renaming the file and setting the permissions
and ownership */