summaryrefslogtreecommitdiff
path: root/mysys/my_symlink.c
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@mysql.com>2008-08-26 13:32:43 +0500
committerAlexey Botchkov <holyfoot@mysql.com>2008-08-26 13:32:43 +0500
commit8d3eb141e08103c5119854948dd793ec55d3cc00 (patch)
tree200730f9c3f71ec931278abde26c627495e4a758 /mysys/my_symlink.c
parentec524d50a86b6fb75dc3dc5704fbed34568aa35c (diff)
parent1ee4a3ac823dc98a0abb70cd28ffbf6a10da221d (diff)
downloadmariadb-git-8d3eb141e08103c5119854948dd793ec55d3cc00.tar.gz
merging fix
Diffstat (limited to 'mysys/my_symlink.c')
-rw-r--r--mysys/my_symlink.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/mysys/my_symlink.c b/mysys/my_symlink.c
index c07be41066f..7f2be5644e8 100644
--- a/mysys/my_symlink.c
+++ b/mysys/my_symlink.c
@@ -109,8 +109,16 @@ int my_symlink(const char *content, const char *linkname, myf MyFlags)
int my_is_symlink(const char *filename __attribute__((unused)))
{
+#if defined (HAVE_LSTAT) && defined (S_ISLNK)
struct stat stat_buff;
return !lstat(filename, &stat_buff) && S_ISLNK(stat_buff.st_mode);
+#elif defined (_WIN32)
+ DWORD dwAttr = GetFileAttributes(filename);
+ return (dwAttr != INVALID_FILE_ATTRIBUTES) &&
+ (dwAttr & FILE_ATTRIBUTE_REPARSE_POINT);
+#else /* No symlinks */
+ return 0;
+#endif
}