summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
Diffstat (limited to 'mysys')
-rw-r--r--mysys/my_static.c1
-rw-r--r--mysys/my_symlink2.c6
2 files changed, 5 insertions, 2 deletions
diff --git a/mysys/my_static.c b/mysys/my_static.c
index f1339877273..3fc68455841 100644
--- a/mysys/my_static.c
+++ b/mysys/my_static.c
@@ -97,4 +97,5 @@ int (*fatal_error_handler_hook)(uint error,const char *str,myf MyFlags)=
my_bool NEAR my_disable_locking=0;
my_bool NEAR my_disable_async_io=0;
my_bool NEAR my_disable_flush_key_blocks=0;
+my_bool NEAR my_disable_symlinks=0;
my_bool NEAR mysys_uses_curses=0;
diff --git a/mysys/my_symlink2.c b/mysys/my_symlink2.c
index 671531393f7..9fcd993ac1f 100644
--- a/mysys/my_symlink2.c
+++ b/mysys/my_symlink2.c
@@ -62,7 +62,8 @@ File my_create_with_symlink(const char *linkname, const char *filename,
int my_delete_with_symlink(const char *name, myf MyFlags)
{
char link_name[FN_REFLEN];
- int was_symlink= !my_readlink(link_name, name, MYF(0));
+ int was_symlink= (!my_disable_symlinks &&
+ !my_readlink(link_name, name, MYF(0)));
int result;
DBUG_ENTER("my_delete_with_symlink");
@@ -90,7 +91,8 @@ int my_rename_with_symlink(const char *from, const char *to, myf MyFlags)
return my_rename(from, to, MyFlags);
#else
char link_name[FN_REFLEN], tmp_name[FN_REFLEN];
- int was_symlink= !my_readlink(link_name, name, MYF(0));
+ int was_symlink= (!my_disable_symlinks &&
+ !my_readlink(link_name, name, MYF(0)));
int result;
DBUG_ENTER("my_rename_with_symlink");