Use "use warnings" rather than -w on the #! line.
[rsync/rsync-patches.git] / soften-links.diff
... / ...
CommitLineData
1Marco d'Itri wrote:
2
3I run one of the debian mirrors, and I had to write this patch because
4my archive is split between more than one disk. Would you accept a more
5polished version of this patch for inclusion in rsync?
6
7To use this patch, run these commands for a successful build:
8
9 patch -p1 <patches/soften-links.diff
10 ./configure (optional if already run)
11 make
12
13diff --git a/syscall.c b/syscall.c
14--- a/syscall.c
15+++ b/syscall.c
16@@ -63,9 +63,14 @@ int do_symlink(const char *fname1, const char *fname2)
17 #ifdef HAVE_LINK
18 int do_link(const char *fname1, const char *fname2)
19 {
20+ int st;
21+
22 if (dry_run) return 0;
23 RETURN_ERROR_IF_RO_OR_LO;
24- return link(fname1, fname2);
25+ st = link(fname1, fname2);
26+ if (/*soften_links &&*/ st != 0 && errno == EXDEV)
27+ st = symlink(fname1, fname2);
28+ return st;
29 }
30 #endif
31