diff options
author | hf@deer.(none) <> | 2004-01-19 21:06:27 +0400 |
---|---|---|
committer | hf@deer.(none) <> | 2004-01-19 21:06:27 +0400 |
commit | 7dda8c102f88de1578e343d508374b60b0cfe5fa (patch) | |
tree | 68d020ad65ffc40d49179abe19fb94245bfbf5d6 /sql/item_strfunc.cc | |
parent | c29e27dabc1e7e44285edc442e967c97db424da4 (diff) | |
parent | 6985f346b9e63c6f626f90ef5cb1d38f6f82dd31 (diff) | |
download | mariadb-git-7dda8c102f88de1578e343d508374b60b0cfe5fa.tar.gz |
Merge deer.(none):/home/hf/work/mysql-4.1.clean
into deer.(none):/home/hf/work/mysql-4.1.1676
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; |