diff options
-rw-r--r-- | sql/ha_myisammrg.cc | 5 | ||||
-rw-r--r-- | strings/my_vsnprintf.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/sql/ha_myisammrg.cc b/sql/ha_myisammrg.cc index 7a5d4fcf0a1..1bf2f8a31ad 100644 --- a/sql/ha_myisammrg.cc +++ b/sql/ha_myisammrg.cc @@ -406,8 +406,8 @@ 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, - tables->db, tables->real_name); + uint length= my_snprintf(buff, FN_REFLEN, "%s%c%s/%s", mysql_data_home, + FN_LIBCHAR, tables->db, tables->real_name); /* If a MyISAM table is in the same directory as the MERGE table, we use the table name without a path. This means that the @@ -422,6 +422,7 @@ int ha_myisammrg::create(const char *name, register TABLE *form, } else table_name=(*tbl)->path; + DBUG_PRINT("info",("MyISAM table_name: '%s'", table_name)); *pos++= table_name; } *pos=0; diff --git a/strings/my_vsnprintf.c b/strings/my_vsnprintf.c index 268f7d18f2a..d92b291321b 100644 --- a/strings/my_vsnprintf.c +++ b/strings/my_vsnprintf.c @@ -28,7 +28,8 @@ %#[l]u %#[l]x %#.#s Note first # is ignored - + %c + RETURN length of result string */ @@ -120,6 +121,11 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) to+= res_length; continue; } + else if (*fmt == 'c') + { + *(to++)= (char) va_arg(ap, int); + continue; + } /* We come here on '%%', unknown code or too long parameter */ if (to == end) break; |