summaryrefslogtreecommitdiff
path: root/sql/item_geofunc.cc
diff options
context:
space:
mode:
authorhf@deer.(none) <>2004-03-15 16:32:53 +0400
committerhf@deer.(none) <>2004-03-15 16:32:53 +0400
commit317e89bc499b77717d96d40472560ce2846a103a (patch)
tree2cab975faaba9bbd5292393c6b415c5159079213 /sql/item_geofunc.cc
parentded8fa56ebe1af3eb7b61f16d4da72004682b48b (diff)
downloadmariadb-git-317e89bc499b77717d96d40472560ce2846a103a.tar.gz
Fix for valgrind's warning
Diffstat (limited to 'sql/item_geofunc.cc')
-rw-r--r--sql/item_geofunc.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/sql/item_geofunc.cc b/sql/item_geofunc.cc
index 02c0f5829fd..1c9338f5f35 100644
--- a/sql/item_geofunc.cc
+++ b/sql/item_geofunc.cc
@@ -31,10 +31,13 @@
String *Item_func_geometry_from_text::val_str(String *str)
{
Geometry_buffer buffer;
- Geometry *geom;
String arg_val;
String *wkt= args[0]->val_str(&arg_val);
- Gis_read_stream trs(wkt->c_ptr(), wkt->length());
+
+ if ((null_value= args[0]->null_value))
+ return 0;
+
+ Gis_read_stream trs(wkt->charset(), wkt->ptr(), wkt->length());
uint32 srid= 0;
if ((arg_count == 2) && !args[1]->null_value)
@@ -44,8 +47,7 @@ String *Item_func_geometry_from_text::val_str(String *str)
return 0;
str->length(0);
str->q_append(srid);
- if ((null_value=(args[0]->null_value ||
- !(geom= Geometry::create_from_wkt(&buffer, &trs, str, 0)))))
+ if ((null_value= !Geometry::create_from_wkt(&buffer, &trs, str, 0)))
return 0;
return str;
}