From 67c5514b908a6adfb0cd91dfe6dc9d0b0e21e1c1 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 23 May 2005 12:31:22 -0500 Subject: [PATCH] BUG#10687 - Merge engine fails under Windows This final cset is to fix a syntax problem in ha_myisammrg.cc where a / was left out of a format string. It also adds a check in has_path to avoid a possible redundant comparison. ha_myisammrg.cc: Replaced missing / in format string my_getwd.c: Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison mysys/my_getwd.c: Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison sql/ha_myisammrg.cc: Replaced missing / in format string --- mysys/my_getwd.c | 5 ++++- sql/ha_myisammrg.cc | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mysys/my_getwd.c b/mysys/my_getwd.c index 14d68168acd..5663ceaa60e 100644 --- a/mysys/my_getwd.c +++ b/mysys/my_getwd.c @@ -208,7 +208,10 @@ int test_if_hard_path(register const char *dir_name) my_bool has_path(const char *name) { - return test(strchr(name, FN_LIBCHAR)) || test(strchr(name,'/')) + return test(strchr(name, FN_LIBCHAR)) +#if FN_LIBCHAR != '/' + || test(strchr(name,'/')) +#endif #ifdef FN_DEVCHAR || test(strchr(name, FN_DEVCHAR)) #endif diff --git a/sql/ha_myisammrg.cc b/sql/ha_myisammrg.cc index 9270361980f..0b160d72aab 100644 --- a/sql/ha_myisammrg.cc +++ b/sql/ha_myisammrg.cc @@ -406,7 +406,7 @@ int ha_myisammrg::create(const char *name, register TABLE *form, This means that it might not be possible to move the DATADIR of an embedded server without changing the paths in the .MRG file. */ - uint length= my_snprintf(buff, FN_REFLEN, "%s%s/%s", mysql_data_home, + uint length= my_snprintf(buff, FN_REFLEN, "%s/%s/%s", mysql_data_home, tables->db, tables->real_name); /* If a MyISAM table is in the same directory as the MERGE table,