aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-xml-utils.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-10-06 22:23:10 +0800
committerChris Lahey <clahey@src.gnome.org>2001-10-06 22:23:10 +0800
commit8c8bf81c61d4da00bfd529f92a394f59a1b1f5b7 (patch)
tree1649c82449d745844f044061c8137e88e100d6d1 /e-util/e-xml-utils.c
parent9e805a243e4cbee3dedf0275c69528717e0e3aeb (diff)
downloadgsoc2013-evolution-8c8bf81c61d4da00bfd529f92a394f59a1b1f5b7.tar
gsoc2013-evolution-8c8bf81c61d4da00bfd529f92a394f59a1b1f5b7.tar.gz
gsoc2013-evolution-8c8bf81c61d4da00bfd529f92a394f59a1b1f5b7.tar.bz2
gsoc2013-evolution-8c8bf81c61d4da00bfd529f92a394f59a1b1f5b7.tar.lz
gsoc2013-evolution-8c8bf81c61d4da00bfd529f92a394f59a1b1f5b7.tar.xz
gsoc2013-evolution-8c8bf81c61d4da00bfd529f92a394f59a1b1f5b7.tar.zst
gsoc2013-evolution-8c8bf81c61d4da00bfd529f92a394f59a1b1f5b7.zip
New function that parses a string as a double either in the C locale or
2001-10-06 Christopher James Lahey <clahey@ximian.com> * gal/util/e-util.c, gal/util/e-util.h (e_flexible_strtod): New function that parses a string as a double either in the C locale or the current locale. (e_ascii_dtostr): New function that saves a double as a string as it would be saved in the C locale. * gal/util/e-xml-utils.c (e_xml_get_double_prop_by_name_with_default): Use e_flexible_strtod here. (e_xml_set_double_prop_by_name): Use e_ascii_dtostr here. svn path=/trunk/; revision=13479
Diffstat (limited to 'e-util/e-xml-utils.c')
-rw-r--r--e-util/e-xml-utils.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/e-util/e-xml-utils.c b/e-util/e-xml-utils.c
index 1285b5ce75..6ff68c5904 100644
--- a/e-util/e-xml-utils.c
+++ b/e-util/e-xml-utils.c
@@ -30,6 +30,7 @@
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
#include "gal/util/e-i18n.h"
+#include "gal/util/e-util.h"
xmlNode *
e_xml_get_child_by_name (const xmlNode *parent, const xmlChar *child_name)
@@ -329,7 +330,7 @@ e_xml_get_double_prop_by_name_with_default (const xmlNode *parent, const xmlChar
prop = xmlGetProp ((xmlNode *) parent, prop_name);
if (prop != NULL) {
- (void) sscanf (prop, "%lf", &ret_val);
+ ret_val = e_flexible_strtod (prop, NULL);
xmlFree (prop);
}
return ret_val;
@@ -338,18 +339,17 @@ e_xml_get_double_prop_by_name_with_default (const xmlNode *parent, const xmlChar
void
e_xml_set_double_prop_by_name(xmlNode *parent, const xmlChar *prop_name, gdouble value)
{
- gchar *valuestr;
+ char buffer[E_ASCII_DTOSTR_BUF_SIZE];
g_return_if_fail (parent != NULL);
g_return_if_fail (prop_name != NULL);
if (fabs (value) < 1e9 && fabs (value) > 1e-5) {
- valuestr = g_strdup_printf ("%f", value);
+ e_ascii_dtostr (buffer, sizeof (buffer), "%.17f", value);
} else {
- valuestr = g_strdup_printf ("%.*g", DBL_DIG, value);
+ e_ascii_dtostr (buffer, sizeof (buffer), "%.17g", value);
}
- xmlSetProp (parent, prop_name, valuestr);
- g_free (valuestr);
+ xmlSetProp (parent, prop_name, buffer);
}
gchar *