Make flags value default to 0.
authorWayne Davison <wayned@samba.org>
Sat, 19 Mar 2011 22:57:11 +0000 (15:57 -0700)
committerWayne Davison <wayned@samba.org>
Sat, 19 Mar 2011 22:57:11 +0000 (15:57 -0700)
fileflags.diff

index 67b8d437a44b397888cfe21346f567bf1100f3b4..3ad3bc52bca3bdedfe57c16391f590dc9091f965 100644 (file)
@@ -158,7 +158,7 @@ diff --git a/flist.c b/flist.c
  #endif
        file->mode = mode;
 +#ifdef SUPPORT_FILEFLAGS
-+      if (preserve_fileflags)
++      if (fileflags_ndx) /* check the ndx for force_change w/o preserve_fileflags */
 +              F_FFLAGS(file) = fileflags;
 +#endif
        if (preserve_uid)
@@ -175,13 +175,12 @@ diff --git a/flist.c b/flist.c
        if (preserve_uid)
                F_OWNER(file) = st.st_uid;
        if (preserve_gid)
-@@ -1429,6 +1464,10 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
+@@ -1429,6 +1464,9 @@ static struct file_struct *send_file_name(int f, struct file_list *flist,
  #ifdef SUPPORT_XATTRS
                if (preserve_xattrs) {
                        sx.st.st_mode = file->mode;
 +#ifdef SUPPORT_FILEFLAGS
-+                      if (preserve_fileflags)
-+                              sx.st.st_flags = F_FFLAGS(file);
++                      sx.st.st_flags = preserve_fileflags ? F_FFLAGS(file) : 0;
 +#endif
                        sx.xattr = NULL;
                        if (get_xattr(fname, &sx) < 0) {
@@ -189,17 +188,22 @@ diff --git a/flist.c b/flist.c
 diff --git a/generator.c b/generator.c
 --- a/generator.c
 +++ b/generator.c
-@@ -42,8 +42,10 @@ extern int preserve_devices;
+@@ -35,6 +35,7 @@ extern int do_progress;
+ extern int relative_paths;
+ extern int implied_dirs;
+ extern int keep_dirlinks;
++extern int force_change;
+ extern int preserve_acls;
+ extern int preserve_xattrs;
+ extern int preserve_links;
+@@ -42,6 +43,7 @@ extern int preserve_devices;
  extern int preserve_specials;
  extern int preserve_hard_links;
  extern int preserve_executability;
 +extern int preserve_fileflags;
  extern int preserve_perms;
  extern int preserve_times;
-+extern int force_change;
  extern int delete_mode;
- extern int delete_before;
- extern int delete_during;
 @@ -164,11 +166,15 @@ static enum delret delete_item(char *fbuf, uint16 mode, uint16 flags)
        }