diff options
author | unknown <hf@deer.(none)> | 2004-01-19 21:06:27 +0400 |
---|---|---|
committer | unknown <hf@deer.(none)> | 2004-01-19 21:06:27 +0400 |
commit | b44c819bb61664b4b69680c0209b8627b40fe2b2 (patch) | |
tree | 68d020ad65ffc40d49179abe19fb94245bfbf5d6 /sql/item_strfunc.cc | |
parent | 584e137887326584e1f24d2061e75486d745584e (diff) | |
parent | 9af09d1266c5a354e6126f13feaea0a3680442d3 (diff) | |
download | mariadb-git-b44c819bb61664b4b69680c0209b8627b40fe2b2.tar.gz |
Merge deer.(none):/home/hf/work/mysql-4.1.clean
into deer.(none):/home/hf/work/mysql-4.1.1676
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Diffstat (limited to 'sql/item_strfunc.cc')
-rw-r--r-- | sql/item_strfunc.cc | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index b19a6e06230..badc134ae1d 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -976,9 +976,10 @@ String *Item_func_right::val_str(String *str) if (res->length() <= (uint) length) return res; /* purecov: inspected */ - uint start=res->numchars()-(uint) length; - if (start<=0) return res; - start=res->charpos(start); + uint start=res->numchars(); + if (start <= (uint) length) + return res; + start=res->charpos(start - (uint) length); tmp_value.set(*res,start,res->length()-start); return &tmp_value; } @@ -2023,9 +2024,8 @@ String *Item_func_lpad::val_str(String *str) { uint32 res_char_length,pad_char_length; ulong count= (long) args[1]->val_int(), byte_count; - String a1,a3; - String *res= args[0]->val_str(&a1); - String *pad= args[2]->val_str(&a3); + String *res= args[0]->val_str(&tmp_value); + String *pad= args[2]->val_str(&lpad_str); if (!res || args[1]->null_value || !pad) goto err; |