summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/ha_myisammrg.cc5
-rw-r--r--strings/my_vsnprintf.c8
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;