null+****@clear*****
null+****@clear*****
2010年 7月 6日 (火) 16:53:39 JST
Kouhei Sutou 2010-07-06 07:53:39 +0000 (Tue, 06 Jul 2010)
New Revision: 3180c85bb7b00b52e312d13362f83ed1cb61104a
Log:
don't restrict geo point separator character.
Modified files:
lib/db.c
test/unit/core/test-cast-basic.c
Modified: lib/db.c (+1 -1)
===================================================================
--- lib/db.c 2010-07-06 06:13:37 +0000 (33a816f)
+++ lib/db.c 2010-07-06 07:53:39 +0000 (52985cb)
@@ -3773,7 +3773,7 @@ grn_obj_cast(grn_ctx *ctx, grn_obj *src, grn_obj *dest, int addp)
const char *cur, *str = GRN_TEXT_VALUE(src);
const char *str_end = GRN_BULK_CURR(src);
latitude = grn_atoi(str, str_end, &cur);
- if (cur[0] == 'x' && cur + 1 < str_end) {
+ if (cur + 1 < str_end) {
longitude = grn_atoi(cur + 1, str_end, &cur);
if (cur == str_end) {
GRN_GEO_POINT_SET(ctx, dest, latitude, longitude);
Modified: test/unit/core/test-cast-basic.c (+1 -0)
===================================================================
--- test/unit/core/test-cast-basic.c 2010-07-06 06:13:37 +0000 (4d4b935)
+++ test/unit/core/test-cast-basic.c 2010-07-06 07:53:39 +0000 (4cffaa6)
@@ -258,6 +258,7 @@ test_text_to_geo_point(void)
void
test_text_to_geo_point_invalid(void)
{
+ cut_omit("any character is accepted as separator.");
grn_obj_reinit(&context, &dest, GRN_DB_WGS84_GEO_POINT, 0);
set_text("130194581?503802073");
grn_test_assert_equal_rc(GRN_INVALID_ARGUMENT,