mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
[sixtp-dom-parsers.cpp] use string_to_guint, string_to_guint16
This commit is contained in:
parent
249ec9f43a
commit
6c82a1311b
@ -98,46 +98,32 @@ dom_tree_to_integer_kvp_value (xmlNodePtr node)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
static bool
|
||||||
|
dom_tree_to_num (xmlNodePtr node, std::function<bool(const char*, T*)>string_to_num, T* num_ptr)
|
||||||
|
{
|
||||||
|
auto text = dom_tree_to_text (node);
|
||||||
|
auto ret = string_to_num (text, num_ptr);
|
||||||
|
g_free (text);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
dom_tree_to_integer (xmlNodePtr node, gint64* daint)
|
dom_tree_to_integer (xmlNodePtr node, gint64* daint)
|
||||||
{
|
{
|
||||||
gchar* text;
|
return dom_tree_to_num<gint64>(node, string_to_gint64, daint);
|
||||||
gboolean ret;
|
|
||||||
|
|
||||||
text = dom_tree_to_text (node);
|
|
||||||
|
|
||||||
ret = string_to_gint64 (text, daint);
|
|
||||||
|
|
||||||
g_free (text);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
dom_tree_to_guint16 (xmlNodePtr node, guint16* i)
|
dom_tree_to_guint16 (xmlNodePtr node, guint16* i)
|
||||||
{
|
{
|
||||||
gboolean ret;
|
return dom_tree_to_num<guint16>(node, string_to_guint16, i);
|
||||||
guint j = 0;
|
|
||||||
|
|
||||||
ret = dom_tree_to_guint (node, &j);
|
|
||||||
*i = (guint16) j;
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
dom_tree_to_guint (xmlNodePtr node, guint* i)
|
dom_tree_to_guint (xmlNodePtr node, guint* i)
|
||||||
{
|
{
|
||||||
gchar* text, *endptr;
|
return dom_tree_to_num<guint>(node, string_to_guint, i);
|
||||||
gboolean ret;
|
|
||||||
|
|
||||||
text = dom_tree_to_text (node);
|
|
||||||
/* In spite of the strange string_to_gint64 function, I'm just
|
|
||||||
going to use strtoul here until someone shows me the error of
|
|
||||||
my ways. -CAS */
|
|
||||||
*i = (guint) strtoul (text, &endptr, 0);
|
|
||||||
ret = (endptr != text);
|
|
||||||
g_free (text);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
|
Loading…
Reference in New Issue
Block a user