summaryrefslogtreecommitdiff
path: root/sql/sql_string.cc
diff options
context:
space:
mode:
authorbar@bar.mysql.r18.ru <>2003-03-17 13:40:40 +0400
committerbar@bar.mysql.r18.ru <>2003-03-17 13:40:40 +0400
commit63a307bb38b6d2462655bb31efff80e820b610d9 (patch)
tree90019e029c91f3bd54f08f0c2ce61d0ac6a6f52d /sql/sql_string.cc
parentcaf31a07903df2351092b5de8bf6f39b1aca642a (diff)
downloadmariadb-git-63a307bb38b6d2462655bb31efff80e820b610d9.tar.gz
sql_string.cc:
Copy as is if src or dst are binary
Diffstat (limited to 'sql/sql_string.cc')
-rw-r--r--sql/sql_string.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/sql_string.cc b/sql/sql_string.cc
index b6425003af3..d796c53fb52 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -232,6 +232,10 @@ bool String::copy(const char *str,uint32 arg_length, CHARSET_INFO *cs)
bool String::copy(const char *str, uint32 arg_length,
CHARSET_INFO *from_cs, CHARSET_INFO *to_cs)
{
+ if ((from_cs == &my_charset_bin) || (to_cs == &my_charset_bin))
+ {
+ return copy(str, arg_length, &my_charset_bin);
+ }
uint32 new_length= to_cs->mbmaxlen*arg_length;
if (alloc(new_length))
return TRUE;