--- old/flist.c
+++ new/flist.c
-@@ -43,6 +43,7 @@ extern int one_file_system;
- extern int copy_dirlinks;
- extern int keep_dirlinks;
+@@ -45,6 +45,7 @@ extern int keep_dirlinks;
+ extern int preserve_acls;
+ extern int preserve_xattrs;
extern int preserve_links;
+extern int follow_links_depth;
extern int preserve_hard_links;
extern int preserve_devices;
extern int preserve_specials;
-@@ -852,6 +853,30 @@ static struct file_struct *recv_file_ent
+@@ -900,6 +901,30 @@ static struct file_struct *recv_file_ent
return file;
}
/**
* Create a file_struct for a named file by reading its stat()
* information and performing extensive checks against global
-@@ -994,7 +1019,13 @@ struct file_struct *make_file(const char
+@@ -1042,7 +1067,13 @@ struct file_struct *make_file(const char
basename_len = strlen(basename) + 1; /* count the '\0' */
#ifdef SUPPORT_LINKS
#endif
--- old/options.c
+++ new/options.c
-@@ -46,6 +46,7 @@ int keep_dirlinks = 0;
+@@ -45,6 +45,7 @@ int keep_dirlinks = 0;
int copy_dirlinks = 0;
int copy_links = 0;
int preserve_links = 0;
+int follow_links_depth = 0;
int preserve_hard_links = 0;
- int preserve_perms = 0;
- int preserve_executability = 0;
-@@ -293,6 +294,7 @@ void usage(enum logcode F)
+ int preserve_acls = 0;
+ int preserve_xattrs = 0;
+@@ -303,6 +304,7 @@ void usage(enum logcode F)
rprintf(F," --append append data onto shorter files\n");
rprintf(F," -d, --dirs transfer directories without recursing\n");
rprintf(F," -l, --links copy symlinks as symlinks\n");
rprintf(F," -L, --copy-links transform symlink into referent file/dir\n");
rprintf(F," --copy-unsafe-links only \"unsafe\" symlinks are transformed\n");
rprintf(F," --safe-links ignore symlinks that point outside the source tree\n");
-@@ -444,6 +446,7 @@ static struct poptOption long_options[]
+@@ -470,6 +472,7 @@ static struct poptOption long_options[]
{"links", 'l', POPT_ARG_VAL, &preserve_links, 1, 0, 0 },
{"no-links", 0, POPT_ARG_VAL, &preserve_links, 0, 0, 0 },
{"no-l", 0, POPT_ARG_VAL, &preserve_links, 0, 0, 0 },