diff options
author | peter@mysql.com <> | 2002-11-06 18:51:20 +0300 |
---|---|---|
committer | peter@mysql.com <> | 2002-11-06 18:51:20 +0300 |
commit | 04d140538a5521c23cd8cc8db7573656538f8c24 (patch) | |
tree | 5d8775a22191e5cc5b772fcbacf31b166932459b /sql/item_strfunc.cc | |
parent | 21066bde1ba1116b8bb0ceed61550f4df0979357 (diff) | |
parent | e34e82d156e7b541fe3926f4c9e63a75bff93404 (diff) | |
download | mariadb-git-04d140538a5521c23cd8cc8db7573656538f8c24.tar.gz |
Merge mysql.com:/home/pz/mysql/mysql-4.1-root
into mysql.com:/home/pz/mysql/mysql-4.1
Diffstat (limited to 'sql/item_strfunc.cc')
-rw-r--r-- | sql/item_strfunc.cc | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 01159c4c614..189c0d22c15 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -1387,7 +1387,7 @@ String *Item_func_database::val_str(String *str) String *Item_func_user::val_str(String *str) { THD *thd=current_thd; - if (str->copy((const char*) thd->user,(uint) strlen(thd->user)) || + if (str->copy((const char*) thd->user,(uint) strlen(thd->user), system_charset_info) || str->append('@') || str->append(thd->host ? thd->host : thd->ip ? thd->ip : "")) return &empty_string; @@ -1483,7 +1483,7 @@ String *Item_func_format::val_str(String *str) if ((null_value=args[0]->null_value)) return 0; /* purecov: inspected */ dec= decimals ? decimals+1 : 0; - str->set(nr,decimals,my_thd_charset); + str->set(nr,decimals,thd_charset()); str_length=str->length(); if (nr < 0) str_length--; // Don't count sign @@ -1651,7 +1651,7 @@ String *Item_func_char::val_str(String *str) int32 num=(int32) args[i]->val_int(); if (!args[i]->null_value) #ifdef USE_MB - if (use_mb(default_charset_info)) + if (use_mb(charset())) { if (num&0xFF000000L) { str->append((char)(num>>24)); @@ -1913,7 +1913,7 @@ String *Item_func_conv::val_str(String *str) else dec= (longlong) strtoull(res->c_ptr(),&endptr,from_base); ptr= longlong2str(dec,ans,to_base); - if (str->copy(ans,(uint32) (ptr-ans))) + if (str->copy(ans,(uint32) (ptr-ans), thd_charset())) return &empty_string; return str; } @@ -2134,7 +2134,7 @@ String *Item_func_charset::val_str(String *str) if ((null_value=(args[0]->null_value || !res->charset()))) return 0; - str->copy(res->charset()->name,strlen(res->charset()->name)); + str->copy(res->charset()->name,strlen(res->charset()->name),default_charset_info); return str; } @@ -2149,7 +2149,7 @@ String *Item_func_hex::val_str(String *str) if ((null_value= args[0]->null_value)) return 0; ptr= longlong2str(dec,ans,16); - if (str->copy(ans,(uint32) (ptr-ans))) + if (str->copy(ans,(uint32) (ptr-ans),default_charset_info)) return &empty_string; // End of memory return str; } @@ -2468,7 +2468,9 @@ String *Item_func_geometry_type::val_str(String *str) if ((null_value=(args[0]->null_value || geom.create_from_wkb(wkt->ptr(),wkt->length())))) return 0; - str->copy(geom.get_class_info()->m_name,strlen(geom.get_class_info()->m_name)); + str->copy(geom.get_class_info()->m_name, + strlen(geom.get_class_info()->m_name), + default_charset_info); return str; } |