summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <ram@mysql.r18.ru>2003-04-04 14:10:24 +0500
committerunknown <ram@mysql.r18.ru>2003-04-04 14:10:24 +0500
commita9ca18f57c7b32111d07fe882fe373e34421c00b (patch)
treeb6bd1f17a19d8a9910a1efe9bcf945cc340b6ee2
parent1b69b763e642b1568030e01618f637f8414d3252 (diff)
parentf6c5bade1523ba1b3fc32cb12776c291f288fcb5 (diff)
downloadmariadb-git-a9ca18f57c7b32111d07fe882fe373e34421c00b.tar.gz
Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.r18.ru:/usr/home/ram/work/mysql-4.1.sp sql/item_strfunc.cc: Auto merged
-rw-r--r--sql/item_strfunc.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc
index 0ec2acb5d75..45a7625b331 100644
--- a/sql/item_strfunc.cc
+++ b/sql/item_strfunc.cc
@@ -2624,20 +2624,21 @@ String *Item_func_geometry_type::val_str(String *str)
String *Item_func_envelope::val_str(String *str)
{
- String *res= args[0]->val_str(str);
+ String arg_val;
+ String *swkb= args[0]->val_str(&arg_val);
Geometry geom;
if ((null_value= args[0]->null_value ||
- geom.create_from_wkb(res->ptr() + SRID_SIZE,
- res->length() - SRID_SIZE)))
+ geom.create_from_wkb(swkb->ptr() + SRID_SIZE,
+ swkb->length() - SRID_SIZE)))
return 0;
- uint32 srid= uint4korr(res->ptr());
- if (res->reserve(SRID_SIZE, 512))
+ uint32 srid= uint4korr(swkb->ptr());
+ str->length(0);
+ if (str->reserve(SRID_SIZE, 512))
return 0;
- res->length(0);
- res->q_append(srid);
- return (null_value= geom.envelope(res)) ? 0 : res;
+ str->q_append(srid);
+ return (null_value= geom.envelope(str)) ? 0 : str;
}