[geocode-glib] lib: Fix search long/lat in some locales



commit 956b90fdd9a50080c519c3f1c5926edd332a1134
Author: Bastien Nocera <hadess hadess net>
Date:   Sun Nov 25 01:37:02 2012 +0100

    lib: Fix search long/lat in some locales
    
    When the radix isn't ".", we created long/lat in strings that
    we couldn't parse later on.

 geocode-glib/geocode-forward.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/geocode-glib/geocode-forward.c b/geocode-glib/geocode-forward.c
index 8446d25..72e8d87 100644
--- a/geocode-glib/geocode-forward.c
+++ b/geocode-glib/geocode-forward.c
@@ -597,13 +597,16 @@ insert_place_attr (GHashTable *ht,
 	    IS_EL("areaRank")) {
 		value = g_strdup_printf ("%"G_GINT64_FORMAT, json_reader_get_int_value (reader));
 	} else if (IS_EL("centroid")) {
+		char str[16];
+
 		json_reader_read_member (reader, "longitude");
-		g_hash_table_insert (ht, g_strdup ("longitude"),
-				     g_strdup_printf ("%lf", json_reader_get_double_value (reader)));
+		g_ascii_dtostr (str, sizeof(str), json_reader_get_double_value (reader));
+		g_hash_table_insert (ht, g_strdup ("longitude"), g_strdup (str));
 		json_reader_end_member (reader);
+
 		json_reader_read_member (reader, "latitude");
-		g_hash_table_insert (ht, g_strdup ("latitude"),
-				     g_strdup_printf ("%lf", json_reader_get_double_value (reader)));
+		g_ascii_dtostr (str, sizeof(str), json_reader_get_double_value (reader));
+		g_hash_table_insert (ht, g_strdup ("latitude"), g_strdup (str));
 		json_reader_end_member (reader);
 		goto end;
 	} else if (g_str_has_suffix (element_name, " attrs")) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]