summaryrefslogtreecommitdiff
path: root/sql/sql_string.cc
diff options
context:
space:
mode:
authortnurnberg@salvation.intern.azundris.com <>2006-09-05 22:55:55 +0200
committertnurnberg@salvation.intern.azundris.com <>2006-09-05 22:55:55 +0200
commitfbff93ef7522327003e6523b862a227d4222bb6f (patch)
treeb6d52f2764ea4e76746e10f4f6aa38cd47104352 /sql/sql_string.cc
parent51e4432b79b7fd26668d4f8da2c6a4ffa03d0b4f (diff)
parent72c6c14bb20dfe3a92d051f38b235e1eab85318e (diff)
downloadmariadb-git-fbff93ef7522327003e6523b862a227d4222bb6f.tar.gz
Merge salvation.intern.azundris.com:/home/tnurnberg/21913/my50-21913
into salvation.intern.azundris.com:/home/tnurnberg/21913/my51-21913
Diffstat (limited to 'sql/sql_string.cc')
-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 89010c1e213..6e4d3f2ed0a 100644
--- a/sql/sql_string.cc
+++ b/sql/sql_string.cc
@@ -238,6 +238,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,
@@ -246,7 +250,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) &&