From: Wayne Davison Date: Fri, 11 Jun 2004 07:40:45 +0000 (+0000) Subject: Call link_stat() with its new arg (for --keep-dirlinks support). X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/373ef1601079db3a26591a3b9089b4bcb366ee82 Call link_stat() with its new arg (for --keep-dirlinks support). --- diff --git a/hlink.c b/hlink.c index 29ddbaf7..4228b73e 100644 --- a/hlink.c +++ b/hlink.c @@ -183,11 +183,11 @@ void do_hard_links(void) for (i = 0; i < hlink_count; i++) { first = file = hlink_list[i]; - if (link_stat(f_name_to(first, hlink1), &st1) != 0) + if (link_stat(f_name_to(first, hlink1), &st1, 0) < 0) continue; while ((file = file->F_NEXT) != first) { hlink2 = f_name(file); - if (link_stat(hlink2, &st2) == 0) { + if (link_stat(hlink2, &st2, 0) == 0) { if (st2.st_dev == st1.st_dev && st2.st_ino == st1.st_ino) continue; diff --git a/rsync.c b/rsync.c index a9119fca..ffe8ed9e 100644 --- a/rsync.c +++ b/rsync.c @@ -132,7 +132,7 @@ int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st, return 0; if (!st) { - if (link_stat(fname,&st2) != 0) { + if (link_stat(fname, &st2, 0) < 0) { rsyserr(FERROR, errno, "stat %s failed", full_fname(fname)); return 0; @@ -186,7 +186,7 @@ int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st, * destination had the setuid or setgid bits set due * to the side effect of the chown call */ if (st->st_mode & (S_ISUID | S_ISGID)) { - link_stat(fname, st); + link_stat(fname, st, 0); } updated = 1; }