summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <cmiller@zippy.cornsilk.net>2006-09-06 14:44:59 -0400
committerunknown <cmiller@zippy.cornsilk.net>2006-09-06 14:44:59 -0400
commitc463d2cd7ba463c6beb6000fffa96d63be05aeb5 (patch)
treef0a6b36488fc4913326d7656930c66061c910030 /sql
parentec2512cf184c6746df48e2dfd5f493c3278e393a (diff)
parent43eeeac033a99de40559c85d92d7e5db155dd70d (diff)
downloadmariadb-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.cc7
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) &&