diff options
author | unknown <cmiller@zippy.cornsilk.net> | 2006-09-06 14:44:59 -0400 |
---|---|---|
committer | unknown <cmiller@zippy.cornsilk.net> | 2006-09-06 14:44:59 -0400 |
commit | c463d2cd7ba463c6beb6000fffa96d63be05aeb5 (patch) | |
tree | f0a6b36488fc4913326d7656930c66061c910030 /sql | |
parent | ec2512cf184c6746df48e2dfd5f493c3278e393a (diff) | |
parent | 43eeeac033a99de40559c85d92d7e5db155dd70d (diff) | |
download | mariadb-git-c463d2cd7ba463c6beb6000fffa96d63be05aeb5.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_string.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sql/sql_string.cc b/sql/sql_string.cc index 939ffe8d9d2..aaa85b0d96c 100644 --- a/sql/sql_string.cc +++ b/sql/sql_string.cc @@ -248,6 +248,10 @@ bool String::copy(const char *str,uint32 arg_length, CHARSET_INFO *cs) 0 No conversion needed 1 Either character set conversion or adding leading zeros (e.g. for UCS-2) must be done + + NOTE + to_cs may be NULL for "no conversion" if the system variable + character_set_results is NULL. */ bool String::needs_conversion(uint32 arg_length, @@ -256,7 +260,8 @@ bool String::needs_conversion(uint32 arg_length, uint32 *offset) { *offset= 0; - if ((to_cs == &my_charset_bin) || + if (!to_cs || + (to_cs == &my_charset_bin) || (to_cs == from_cs) || my_charset_same(from_cs, to_cs) || ((from_cs == &my_charset_bin) && |