From c9aaf1cc94c9435736df9049c0ed9c961443c7b6 Mon Sep 17 00:00:00 2001 From: Nguyễn Thái Ngọc Duy Date: Mon, 5 Apr 2010 22:21:04 +0200 Subject: win32: copy_file: always use lstat to avoid macro conflict stat() in win32 port is actual a macro, not a function. Doing it the way it is now won't work. stat/lstat is not different in Windows anyway. --- libbb/copy_file.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libbb/copy_file.c b/libbb/copy_file.c index ed765d8f0..80a64f791 100644 --- a/libbb/copy_file.c +++ b/libbb/copy_file.c @@ -85,7 +85,12 @@ int FAST_FUNC copy_file(const char *source, const char *dest, int flags) /* Inverse of cp -d ("cp without -d") */ #define FLAGS_DEREF (flags & (FILEUTILS_DEREFERENCE + FILEUTILS_DEREFERENCE_L0)) +#if ENABLE_PLATFORM_MINGW32 + /* stat can't be aliased, and MinGW uses lstat anyway */ + if (lstat(source, &source_stat) < 0) { +#else if ((FLAGS_DEREF ? stat : lstat)(source, &source_stat) < 0) { +#endif /* This may be a dangling symlink. * Making [sym]links to dangling symlinks works, so... */ if (flags & (FILEUTILS_MAKE_SOFTLINK|FILEUTILS_MAKE_HARDLINK)) -- cgit v1.2.3-55-g6feb