summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/copy.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/copy.h b/src/copy.h
index 10cdce979..0979ee1af 100644
--- a/src/copy.h
+++ b/src/copy.h
@@ -153,10 +153,6 @@ struct cp_options
/* If nonzero, display the names of the files before copying them. */
int verbose;
- /* A pointer to either lstat or stat, depending on
- whether the copy should dereference symlinks. */
- int (*xstat) ();
-
/* If nonzero, stdin is a tty. */
int stdin_tty;
@@ -178,6 +174,11 @@ struct cp_options
int stat ();
int lstat ();
+# define XSTAT(X, Src_path, Src_sb) \
+ ((X)->dereference == DEREF_NEVER \
+ ? lstat (Src_path, Src_sb) \
+ : stat (Src_path, Src_sb))
+
/* Arrange to make lstat calls go through the wrapper function
on systems with an lstat function that does not dereference symlinks
that are specified with a trailing slash. */