AUDIT: r17040 - gnucash/trunk/src/backend/file - Fix/extend r17039 and make gnc_commodity_find_currency() free its temporary data.
Andreas Köhler
andi5 at cvs.gnucash.org
Thu Mar 20 19:29:26 EDT 2008
Author: andi5
Date: 2008-03-20 19:29:26 -0400 (Thu, 20 Mar 2008)
New Revision: 17040
Trac: http://svn.gnucash.org/trac/changeset/17040
Modified:
gnucash/trunk/src/backend/file/gnc-commodity-xml-v2.c
Log:
Fix/extend r17039 and make gnc_commodity_find_currency() free its temporary data.
BP
Modified: gnucash/trunk/src/backend/file/gnc-commodity-xml-v2.c
===================================================================
--- gnucash/trunk/src/backend/file/gnc-commodity-xml-v2.c 2008-03-20 23:15:04 UTC (rev 17039)
+++ gnucash/trunk/src/backend/file/gnc-commodity-xml-v2.c 2008-03-20 23:29:26 UTC (rev 17040)
@@ -215,6 +215,7 @@
gnc_commodity_find_currency (QofBook *book, xmlNodePtr tree)
{
gnc_commodity_table * table;
+ gnc_commodity *currency = NULL;
gchar *exchange = NULL, *mnemonic = NULL;
xmlNodePtr node;
@@ -226,22 +227,20 @@
mnemonic = (gchar*) xmlNodeGetContent (node->xmlChildrenNode);
}
- if (!exchange || !mnemonic)
+ if (exchange
+ && gnc_commodity_namespace_is_iso(exchange)
+ && mnemonic)
{
- if (exchange) xmlFree(exchange);
- if (mnemonic) xmlFree(mnemonic);
- return NULL;
+ table = gnc_commodity_table_get_table(book);
+ currency = gnc_commodity_table_lookup(table, exchange, mnemonic);
}
- if (!gnc_commodity_namespace_is_iso(exchange))
- {
+ if (exchange)
xmlFree(exchange);
+ if (mnemonic)
xmlFree(mnemonic);
- return NULL;
- }
- table = gnc_commodity_table_get_table(book);
- return gnc_commodity_table_lookup(table, exchange, mnemonic);
+ return currency;
}
static gboolean
More information about the gnucash-changes
mailing list