From: Wayne Davison Date: Thu, 10 Jun 2004 16:43:52 +0000 (+0000) Subject: The mkdir code should be using do_stat(), not do_lstat() to copy X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/9fd62d15880b94c8353e1d1728fa85ee6ff9f6cf The mkdir code should be using do_stat(), not do_lstat() to copy each existing dir's mode & owner info. --- diff --git a/backup.c b/backup.c index 2c69acd1..b2f6de0e 100644 --- a/backup.c +++ b/backup.c @@ -98,7 +98,7 @@ static int make_bak_dir(char *fullpath) if (p >= rel) { /* Try to transfer the directory settings of the * actual dir that the files are coming from. */ - if (do_lstat(rel, &st) != 0) { + if (do_stat(rel, &st) < 0) { rsyserr(FERROR, errno, "make_bak_dir stat %s failed", full_fname(rel)); @@ -148,10 +148,12 @@ static int keep_backup(char *fname) /* return if no file to keep */ #if SUPPORT_LINKS - if (do_lstat(fname, &st)) return 1; + ret_code = do_lstat(fname, &st); #else - if (do_stat(fname, &st)) return 1; + ret_code = do_stat(fname, &st); #endif + if (ret_code < 0) + return 1; file = make_file(fname, NULL, NO_EXCLUDES);