Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Changed the mode arg from an int to a mode_t.
[rsync/rsync.git]
/
rsync.c
diff --git
a/rsync.c
b/rsync.c
index
d78a085
..
661f990
100644
(file)
--- a/
rsync.c
+++ b/
rsync.c
@@
-49,9
+49,8
@@
void free_sums(struct sum_struct *s)
free(s);
}
free(s);
}
-
-int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st,
- int flags)
+int set_file_attrs(char *fname, struct file_struct *file, STRUCT_STAT *st,
+ int flags)
{
int updated = 0;
STRUCT_STAT st2;
{
int updated = 0;
STRUCT_STAT st2;
@@
-69,8
+68,8
@@
int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st,
}
if (!preserve_times || (S_ISDIR(st->st_mode) && omit_dir_times))
}
if (!preserve_times || (S_ISDIR(st->st_mode) && omit_dir_times))
- flags |=
PERM
S_SKIP_MTIME;
- if (!(flags &
PERM
S_SKIP_MTIME)
+ flags |=
ATTR
S_SKIP_MTIME;
+ if (!(flags &
ATTR
S_SKIP_MTIME)
&& cmp_modtime(st->st_mtime, file->modtime) != 0) {
int ret = set_modtime(fname, file->modtime, st->st_mode);
if (ret < 0) {
&& cmp_modtime(st->st_mtime, file->modtime) != 0) {
int ret = set_modtime(fname, file->modtime, st->st_mode);
if (ret < 0) {
@@
-82,9
+81,9
@@
int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st,
updated = 1;
}
updated = 1;
}
- change_uid = am_root && preserve_uid && st->st_uid != file->
ids->
uid;
- change_gid = preserve_gid && file->
ids->
gid != GID_NONE
- && st->st_gid != file->
ids->
gid;
+ change_uid = am_root && preserve_uid && st->st_uid != file->uid;
+ change_gid = preserve_gid && file->gid != GID_NONE
+ && st->st_gid != file->gid;
#if !defined HAVE_LCHOWN && !defined CHOWN_MODIFIES_SYMLINK
if (S_ISLNK(st->st_mode))
;
#if !defined HAVE_LCHOWN && !defined CHOWN_MODIFIES_SYMLINK
if (S_ISLNK(st->st_mode))
;
@@
-96,18
+95,18
@@
int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st,
rprintf(FINFO,
"set uid of %s from %ld to %ld\n",
fname,
rprintf(FINFO,
"set uid of %s from %ld to %ld\n",
fname,
- (long)st->st_uid, (long)file->
ids->
uid);
+ (long)st->st_uid, (long)file->uid);
}
if (change_gid) {
rprintf(FINFO,
"set gid of %s from %ld to %ld\n",
fname,
}
if (change_gid) {
rprintf(FINFO,
"set gid of %s from %ld to %ld\n",
fname,
- (long)st->st_gid, (long)file->
ids->
gid);
+ (long)st->st_gid, (long)file->gid);
}
}
if (do_lchown(fname,
}
}
if (do_lchown(fname,
- change_uid ? file->
ids->
uid : st->st_uid,
- change_gid ? file->
ids->
gid : st->st_gid) != 0) {
+ change_uid ? file->uid : st->st_uid,
+ change_gid ? file->gid : st->st_gid) != 0) {
/* shouldn't have attempted to change uid or gid
* unless have the privilege */
rsyserr(FERROR, errno, "%s %s failed",
/* shouldn't have attempted to change uid or gid
* unless have the privilege */
rsyserr(FERROR, errno, "%s %s failed",
@@
-139,7
+138,7
@@
int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st,
}
#endif
}
#endif
- if (verbose > 1 && flags &
PERM
S_REPORT) {
+ if (verbose > 1 && flags &
ATTR
S_REPORT) {
enum logcode code = daemon_log_format_has_i || dry_run
? FCLIENT : FINFO;
if (updated)
enum logcode code = daemon_log_format_has_i || dry_run
? FCLIENT : FINFO;
if (updated)
@@
-176,14
+175,15
@@
void finish_transfer(char *fname, char *fnametmp, struct file_struct *file,
if (inplace) {
if (verbose > 2)
rprintf(FINFO, "finishing %s\n", fname);
if (inplace) {
if (verbose > 2)
rprintf(FINFO, "finishing %s\n", fname);
- goto do_set_
perm
s;
+ goto do_set_
file_attr
s;
}
if (make_backups && overwriting_basis && !make_backup(fname))
return;
/* Change permissions before putting the file into place. */
}
if (make_backups && overwriting_basis && !make_backup(fname))
return;
/* Change permissions before putting the file into place. */
- set_perms(fnametmp, file, NULL, ok_to_set_time ? 0 : PERMS_SKIP_MTIME);
+ set_file_attrs(fnametmp, file, NULL,
+ ok_to_set_time ? 0 : ATTRS_SKIP_MTIME);
/* move tmp file over real file */
if (verbose > 2)
/* move tmp file over real file */
if (verbose > 2)
@@
-200,8
+200,9
@@
void finish_transfer(char *fname, char *fnametmp, struct file_struct *file,
/* The file was moved into place (not copied), so it's done. */
return;
}
/* The file was moved into place (not copied), so it's done. */
return;
}
- do_set_perms:
- set_perms(fname, file, NULL, ok_to_set_time ? 0 : PERMS_SKIP_MTIME);
+ do_set_file_attrs:
+ set_file_attrs(fname, file, NULL,
+ ok_to_set_time ? 0 : ATTRS_SKIP_MTIME);
}
const char *who_am_i(void)
}
const char *who_am_i(void)