--- old/compat.c
+++ new/compat.c
-@@ -48,6 +48,8 @@ void setup_protocol(int f_out,int f_in)
- preserve_uid = ++flist_extra_cnt;
+@@ -50,6 +50,8 @@ void setup_protocol(int f_out,int f_in)
+ preserve_uid = ++file_extra_cnt;
if (preserve_gid)
- preserve_gid = ++flist_extra_cnt;
+ preserve_gid = ++file_extra_cnt;
+ if (preserve_atimes)
-+ preserve_atimes = ++flist_extra_cnt;
++ preserve_atimes = ++file_extra_cnt;
if (remote_protocol == 0) {
if (!read_batch)
+extern int preserve_atimes;
extern int relative_paths;
extern int implied_dirs;
- extern int flist_extra_cnt;
+ extern int file_extra_cnt;
@@ -137,6 +138,7 @@ void show_flist_stats(void)
static void list_file_entry(struct file_struct *f)
{
f_name(f, NULL));
}
}
-@@ -314,6 +318,7 @@ static void send_file_entry(struct file_
+@@ -313,6 +317,7 @@ void flist_expand(struct file_list *flis
+ static void send_file_entry(struct file_struct *file, int f, int ndx)
{
- unsigned short flags;
static time_t modtime;
+ static time_t atime;
static mode_t mode;
add_uid(uid);
@@ -501,7 +515,7 @@ static void send_file_entry(struct file_
static struct file_struct *recv_file_entry(struct file_list *flist,
- unsigned short flags, int f)
+ int flags, int f)
{
- static time_t modtime;
+ static time_t modtime, atime;
#define FULL_FLUSH 1
#define NORMAL_FLUSH 0
-@@ -522,6 +524,7 @@ struct file_struct {
- extern int flist_extra_cnt;
+@@ -551,6 +553,7 @@ struct file_struct {
+ extern int file_extra_cnt;
extern int preserve_uid;
extern int preserve_gid;
+extern int preserve_atimes;
#define FILE_STRUCT_LEN (offsetof(struct file_struct, basename))
#define EXTRA_LEN (sizeof (union file_extras))
-@@ -554,6 +557,7 @@ extern int preserve_gid;
+@@ -583,6 +586,7 @@ extern int preserve_gid;
/* When the associated option is on, all entries will have these present: */
#define F_UID(f) REQ_EXTRA(f, preserve_uid)->unum
#define F_GID(f) REQ_EXTRA(f, preserve_gid)->unum