r17132 - gnucash/branches/2.2/src/backend/file - [r17040] Fix/extend r17039 and make gnc_commodity_find_currency() free its temporary data.
Andreas Köhler
andi5 at cvs.gnucash.org
Sat Apr 26 12:49:28 EDT 2008
Author: andi5
Date: 2008-04-26 12:49:28 -0400 (Sat, 26 Apr 2008)
New Revision: 17132
Trac: http://svn.gnucash.org/trac/changeset/17132
Modified:
gnucash/branches/2.2/src/backend/file/gnc-commodity-xml-v2.c
Log:
[r17040] Fix/extend r17039 and make gnc_commodity_find_currency() free its temporary data.
Modified: gnucash/branches/2.2/src/backend/file/gnc-commodity-xml-v2.c
===================================================================
--- gnucash/branches/2.2/src/backend/file/gnc-commodity-xml-v2.c 2008-04-26 16:49:19 UTC (rev 17131)
+++ gnucash/branches/2.2/src/backend/file/gnc-commodity-xml-v2.c 2008-04-26 16:49:28 UTC (rev 17132)
@@ -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