From 9c12b448175346c8335b12b975a3ae0ef1888fb1 Mon Sep 17 00:00:00 2001 From: Linas Vepstas Date: Wed, 2 Jan 2002 04:28:32 +0000 Subject: [PATCH] commodities belong to books git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@6471 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/backend/file/gnc-account-xml-v2.c | 6 +- src/backend/file/gnc-commodity-xml-v2.c | 3 +- src/backend/file/gnc-schedxaction-xml-v2.c | 3 +- src/backend/file/gnc-transaction-xml-v2.c | 2 +- src/backend/file/io-gncbin-r.c | 2 +- src/backend/file/io-gncxml-v1.c | 3 +- src/backend/file/sixtp-dom-parsers.c | 6 +- src/backend/file/sixtp-dom-parsers.h | 2 +- src/backend/file/test/test-dom-converters1.c | 4 +- src/backend/file/test/test-file-stuff.c | 4 +- src/backend/file/test/test-file-stuff.h | 2 +- src/backend/file/test/test-xml-account.c | 6 +- src/backend/file/test/test-xml-transaction.c | 10 +++- src/engine/SchedXaction.c | 2 +- src/engine/gnc-book.c | 2 +- src/engine/gnc-commodity.c | 62 +++++++++++++------- src/engine/gnc-commodity.h | 10 ++-- src/engine/gnc-engine.h | 16 ++--- src/engine/gw-engine-spec.scm | 3 +- src/engine/iso-currencies-to-c | 2 +- src/engine/test-core/test-engine-stuff.c | 2 +- src/engine/test/test-commodities.c | 6 +- 22 files changed, 94 insertions(+), 64 deletions(-) diff --git a/src/backend/file/gnc-account-xml-v2.c b/src/backend/file/gnc-account-xml-v2.c index d3c2cea937..caf0c5f3cb 100644 --- a/src/backend/file/gnc-account-xml-v2.c +++ b/src/backend/file/gnc-account-xml-v2.c @@ -190,7 +190,7 @@ account_commodity_handler (xmlNodePtr node, gpointer act_pdata) struct account_pdata *pdata = act_pdata; gnc_commodity *ref; - ref = dom_tree_to_commodity_ref_no_engine(node); + ref = dom_tree_to_commodity_ref_no_engine(node, pdata->book); xaccAccountSetCommodity(pdata->account, ref); return TRUE; @@ -214,7 +214,7 @@ account_currency_handler (xmlNodePtr node, gpointer act_pdata) struct account_pdata *pdata = act_pdata; gnc_commodity *ref; - ref = dom_tree_to_commodity_ref_no_engine(node); + ref = dom_tree_to_commodity_ref_no_engine(node, pdata->book); DxaccAccountSetCurrency(pdata->account, ref, pdata->book); return TRUE; @@ -238,7 +238,7 @@ account_security_handler (xmlNodePtr node, gpointer act_pdata) struct account_pdata *pdata = act_pdata; gnc_commodity *ref; - ref = dom_tree_to_commodity_ref_no_engine(node); + ref = dom_tree_to_commodity_ref_no_engine(node, pdata->book); DxaccAccountSetSecurity(pdata->account, ref, pdata->book); return TRUE; diff --git a/src/backend/file/gnc-commodity-xml-v2.c b/src/backend/file/gnc-commodity-xml-v2.c index 6b0c980bdd..90d3ab9846 100644 --- a/src/backend/file/gnc-commodity-xml-v2.c +++ b/src/backend/file/gnc-commodity-xml-v2.c @@ -178,7 +178,8 @@ gnc_commodity_end_handler(gpointer data_for_children, g_return_val_if_fail(tree, FALSE); - com = gnc_commodity_new(NULL, NULL, NULL, NULL, 0); + com = gnc_commodity_new(NULL, NULL, NULL, NULL, 0, + (GNCBook *)gdata->bookdata); for(achild = tree->xmlChildrenNode; achild; achild = achild->next) { diff --git a/src/backend/file/gnc-schedxaction-xml-v2.c b/src/backend/file/gnc-schedxaction-xml-v2.c index d3c0ae960f..577bdb9461 100644 --- a/src/backend/file/gnc-schedxaction-xml-v2.c +++ b/src/backend/file/gnc-schedxaction-xml-v2.c @@ -580,7 +580,8 @@ tt_act_handler( xmlNodePtr node, gpointer data ) applies for SchedXaction.c:xaccSchedXactionInit... */ com = gnc_commodity_new( "template", "template", - "template", "template", 1 ); + "template", "template", + 1, txd->book ); xaccAccountSetCommodity( acc, com ); } diff --git a/src/backend/file/gnc-transaction-xml-v2.c b/src/backend/file/gnc-transaction-xml-v2.c index c47a73b94a..ebe6f8a3d2 100644 --- a/src/backend/file/gnc-transaction-xml-v2.c +++ b/src/backend/file/gnc-transaction-xml-v2.c @@ -437,7 +437,7 @@ trn_currency_handler(xmlNodePtr node, gpointer trans_pdata) Transaction *trn = pdata->trans; gnc_commodity *ref; - ref = dom_tree_to_commodity_ref_no_engine(node); + ref = dom_tree_to_commodity_ref_no_engine(node, pdata->book); xaccTransSetCurrency(trn, ref); return TRUE; diff --git a/src/backend/file/io-gncbin-r.c b/src/backend/file/io-gncbin-r.c index ffa2d9c162..3e43c93c64 100644 --- a/src/backend/file/io-gncbin-r.c +++ b/src/backend/file/io-gncbin-r.c @@ -387,7 +387,7 @@ gnc_commodity_import_legacy(GNCBook *book, const char * currency_name) if(!old) { old = gnc_commodity_new(currency_name, GNC_COMMODITY_NS_LEGACY, currency_name, - 0, 100000); + 0, 100000, book); old = gnc_commodity_table_insert(table, old); } return old; diff --git a/src/backend/file/io-gncxml-v1.c b/src/backend/file/io-gncxml-v1.c index d607953892..d398b6e7f6 100644 --- a/src/backend/file/io-gncxml-v1.c +++ b/src/backend/file/io-gncxml-v1.c @@ -1961,7 +1961,8 @@ commodity_restore_end_handler(gpointer data_for_children, cpi->space, cpi->id, cpi->xcode, - cpi->fraction); + cpi->fraction, + pstatus->book); if(comm) { gnc_commodity_table *ctab; diff --git a/src/backend/file/sixtp-dom-parsers.c b/src/backend/file/sixtp-dom-parsers.c index 9c694915d1..b323e8da57 100644 --- a/src/backend/file/sixtp-dom-parsers.c +++ b/src/backend/file/sixtp-dom-parsers.c @@ -659,7 +659,7 @@ failure: gnc_commodity * -dom_tree_to_commodity_ref_no_engine(xmlNodePtr node) +dom_tree_to_commodity_ref_no_engine(xmlNodePtr node, GNCBook *book) { /* Turn something like this @@ -714,7 +714,7 @@ dom_tree_to_commodity_ref_no_engine(xmlNodePtr node) } else { g_strstrip(space_str); g_strstrip(id_str); - c = gnc_commodity_new(NULL, space_str, id_str, NULL, 0); + c = gnc_commodity_new(NULL, space_str, id_str, NULL, 0, book); } g_free(space_str); @@ -730,7 +730,7 @@ dom_tree_to_commodity_ref(xmlNodePtr node, GNCBook *book) gnc_commodity *ret; gnc_commodity_table *table; - daref = dom_tree_to_commodity_ref_no_engine(node); + daref = dom_tree_to_commodity_ref_no_engine(node, book); table = gnc_book_get_commodity_table (book); diff --git a/src/backend/file/sixtp-dom-parsers.h b/src/backend/file/sixtp-dom-parsers.h index eb85dc2b77..07f354e62c 100644 --- a/src/backend/file/sixtp-dom-parsers.h +++ b/src/backend/file/sixtp-dom-parsers.h @@ -42,7 +42,7 @@ GUID* dom_tree_to_guid(xmlNodePtr node); gnc_commodity* dom_tree_to_commodity_ref(xmlNodePtr node, GNCBook *book); -gnc_commodity *dom_tree_to_commodity_ref_no_engine(xmlNodePtr node); +gnc_commodity *dom_tree_to_commodity_ref_no_engine(xmlNodePtr node, GNCBook *); FreqSpec* dom_tree_to_freqSpec( xmlNodePtr node, GNCBook *book); diff --git a/src/backend/file/test/test-dom-converters1.c b/src/backend/file/test/test-dom-converters1.c index 21fe28a2d5..b949246f1c 100644 --- a/src/backend/file/test/test-dom-converters1.c +++ b/src/backend/file/test/test-dom-converters1.c @@ -35,10 +35,10 @@ test_dom_tree_to_commodity_ref(void) test_str1 = get_random_string(); test_str2 = get_random_string(); - test_com1 = gnc_commodity_new(NULL, test_str1, test_str2, NULL, 0); + test_com1 = gnc_commodity_new(NULL, test_str1, test_str2, NULL, 0, NULL); test_node = commodity_ref_to_dom_tree("test-com", test_com1); - test_com2 = dom_tree_to_commodity_ref_no_engine(test_node); + test_com2 = dom_tree_to_commodity_ref_no_engine(test_node, NULL); do_test(gnc_commodity_equiv(test_com1, test_com2), "dom_tree_to_commodity_ref_no_engine"); diff --git a/src/backend/file/test/test-file-stuff.c b/src/backend/file/test/test-file-stuff.c index 9c0f0fc231..f4a0110478 100644 --- a/src/backend/file/test/test-file-stuff.c +++ b/src/backend/file/test/test-file-stuff.c @@ -181,14 +181,14 @@ equals_node_val_vs_guid(xmlNodePtr node, const GUID *id) } gboolean -equals_node_val_vs_commodity(xmlNodePtr node, const gnc_commodity *com) +equals_node_val_vs_commodity(xmlNodePtr node, const gnc_commodity *com, GNCBook *book) { gnc_commodity *cmpcom; g_return_val_if_fail(node, FALSE); g_return_val_if_fail(com, FALSE); - cmpcom = dom_tree_to_commodity_ref_no_engine(node); + cmpcom = dom_tree_to_commodity_ref_no_engine(node, book); g_return_val_if_fail(cmpcom, FALSE); diff --git a/src/backend/file/test/test-file-stuff.h b/src/backend/file/test/test-file-stuff.h index f3f390ca1d..37b3da0ec2 100644 --- a/src/backend/file/test/test-file-stuff.h +++ b/src/backend/file/test/test-file-stuff.h @@ -34,7 +34,7 @@ gboolean check_dom_tree_version(xmlNodePtr node, gchar *verstr); gboolean equals_node_val_vs_string(xmlNodePtr node, const gchar* str); gboolean equals_node_val_vs_guid(xmlNodePtr node, const GUID *id); gboolean equals_node_val_vs_commodity(xmlNodePtr node, - const gnc_commodity *com); + const gnc_commodity *com, GNCBook *); gboolean equals_node_val_vs_kvp_frame(xmlNodePtr node, const kvp_frame *frm); gboolean equals_node_val_vs_date(xmlNodePtr node, const Timespec tm); gboolean equals_node_val_vs_int(xmlNodePtr node, gint64 val); diff --git a/src/backend/file/test/test-xml-account.c b/src/backend/file/test/test-xml-account.c index dfa57d8c24..e6aed6ad3f 100644 --- a/src/backend/file/test/test-xml-account.c +++ b/src/backend/file/test/test-xml-account.c @@ -93,7 +93,7 @@ node_and_account_equal(xmlNodePtr node, Account *act) else if(safe_strcmp(mark->name, "act:commodity") == 0) { if(!equals_node_val_vs_commodity( - mark, xaccAccountGetCommodity(act))) + mark, xaccAccountGetCommodity(act), xaccAccountGetBook(act))) { return g_strdup("commodities differ"); } @@ -101,7 +101,7 @@ node_and_account_equal(xmlNodePtr node, Account *act) else if(safe_strcmp(mark->name, "act:currency") == 0) { if(!equals_node_val_vs_commodity( - mark, DxaccAccountGetCurrency(act, book))) + mark, DxaccAccountGetCurrency(act, book), xaccAccountGetBook(act))) { return g_strdup("currencies differ"); } @@ -124,7 +124,7 @@ node_and_account_equal(xmlNodePtr node, Account *act) else if(safe_strcmp(mark->name, "act:security") == 0) { if(!equals_node_val_vs_commodity( - mark, DxaccAccountGetSecurity(act, book))) + mark, DxaccAccountGetSecurity(act, book), xaccAccountGetBook(act))) { return g_strdup("securities differ"); } diff --git a/src/backend/file/test/test-xml-transaction.c b/src/backend/file/test/test-xml-transaction.c index 62e82a59a9..e74ee4c8f9 100644 --- a/src/backend/file/test/test-xml-transaction.c +++ b/src/backend/file/test/test-xml-transaction.c @@ -194,6 +194,14 @@ equals_node_val_vs_splits(xmlNodePtr node, const Transaction *trn) return TRUE; } +static GNCBook * +xaccTransGetBook (Transaction *trn) +{ + Split *s = xaccTransGetSplit (trn, 0); + Account *acc = xaccSplitGetAccount(s); + return xaccAccountGetBook (acc); +} + static gchar* node_and_transaction_equal(xmlNodePtr node, Transaction *trn) { @@ -227,7 +235,7 @@ node_and_transaction_equal(xmlNodePtr node, Transaction *trn) else if(safe_strcmp(mark->name, "trn:currency") == 0) { if(!equals_node_val_vs_commodity( - mark, xaccTransGetCurrency(trn))) + mark, xaccTransGetCurrency(trn), xaccTransGetBook(trn))) { return g_strdup("currencies differ"); } diff --git a/src/engine/SchedXaction.c b/src/engine/SchedXaction.c index 6f7f66a626..ce270b7bcd 100644 --- a/src/engine/SchedXaction.c +++ b/src/engine/SchedXaction.c @@ -80,7 +80,7 @@ xaccSchedXactionInit( SchedXaction *sx, GNCBook *book) xaccAccountSetCommodity (sx->template_acct, gnc_commodity_new( "template", "template", - "template", "template", 1 ) ); + "template", "template", 1, book ) ); g_free( name ); xaccAccountSetType( sx->template_acct, BANK ); ag = gnc_book_get_template_group( book ); diff --git a/src/engine/gnc-book.c b/src/engine/gnc-book.c index e8ee8b2d2b..25c6868791 100644 --- a/src/engine/gnc-book.c +++ b/src/engine/gnc-book.c @@ -86,7 +86,7 @@ gnc_book_init (GNCBook *book) if(book->commodity_table) { - if(!gnc_commodity_table_add_default_data(book->commodity_table)) + if(!gnc_commodity_table_add_default_data(book->commodity_table, book)) PWARN("unable to initialize book's commodity_table"); } diff --git a/src/engine/gnc-commodity.c b/src/engine/gnc-commodity.c index 804da21927..45054fa40c 100644 --- a/src/engine/gnc-commodity.c +++ b/src/engine/gnc-commodity.c @@ -42,26 +42,27 @@ static short module = MOD_ENGINE; * of the smallest-transactional-units of the currency are there * in a 'unitname' unit. */ -struct _gnc_commodity { - char * fullname; - char * namespace; - char * mnemonic; - char * printname; - char * exchange_code; /* CUSIP or other identifying code */ - int fraction; - char * unique_name; - gint16 mark; /* user-defined mark, handy for traversals */ +struct gnc_commodity_s { + GNCBook * book; + char * fullname; + char * namespace; + char * mnemonic; + char * printname; + char * exchange_code; /* CUSIP or other identifying code */ + int fraction; + char * unique_name; + gint16 mark; /* user-defined mark, handy for traversals */ }; -struct _gnc_commodity_namespace { +struct gnc_commodity_namespace_s { GHashTable * table; }; -struct _gnc_commodity_table { +struct gnc_commodity_table_s { GHashTable * table; }; -typedef struct _gnc_commodity_namespace gnc_commodity_namespace; +typedef struct gnc_commodity_namespace_s gnc_commodity_namespace; /******************************************************************** * gnc_commodity_new @@ -89,10 +90,11 @@ gnc_commodity * gnc_commodity_new(const char * fullname, const char * namespace, const char * mnemonic, const char * exchange_code, - int fraction) + int fraction, GNCBook *book) { gnc_commodity * retval = g_new0(gnc_commodity, 1); + retval->book = book; retval->fullname = g_strdup(fullname); retval->namespace = g_strdup(namespace); retval->mnemonic = g_strdup(mnemonic); @@ -145,7 +147,8 @@ gnc_commodity_destroy(gnc_commodity * cm) ********************************************************************/ const char * -gnc_commodity_get_mnemonic(const gnc_commodity * cm) { +gnc_commodity_get_mnemonic(const gnc_commodity * cm) +{ if(!cm) return NULL; return cm->mnemonic; } @@ -155,7 +158,8 @@ gnc_commodity_get_mnemonic(const gnc_commodity * cm) { ********************************************************************/ const char * -gnc_commodity_get_printname(const gnc_commodity * cm) { +gnc_commodity_get_printname(const gnc_commodity * cm) +{ if(!cm) return NULL; return cm->printname; } @@ -166,7 +170,8 @@ gnc_commodity_get_printname(const gnc_commodity * cm) { ********************************************************************/ const char * -gnc_commodity_get_namespace(const gnc_commodity * cm) { +gnc_commodity_get_namespace(const gnc_commodity * cm) +{ if(!cm) return NULL; return cm->namespace; } @@ -177,7 +182,8 @@ gnc_commodity_get_namespace(const gnc_commodity * cm) { ********************************************************************/ const char * -gnc_commodity_get_fullname(const gnc_commodity * cm) { +gnc_commodity_get_fullname(const gnc_commodity * cm) +{ if(!cm) return NULL; return cm->fullname; } @@ -188,7 +194,8 @@ gnc_commodity_get_fullname(const gnc_commodity * cm) { ********************************************************************/ const char * -gnc_commodity_get_unique_name(const gnc_commodity * cm) { +gnc_commodity_get_unique_name(const gnc_commodity * cm) +{ if(!cm) return NULL; return cm->unique_name; } @@ -199,7 +206,8 @@ gnc_commodity_get_unique_name(const gnc_commodity * cm) { ********************************************************************/ const char * -gnc_commodity_get_exchange_code(const gnc_commodity * cm) { +gnc_commodity_get_exchange_code(const gnc_commodity * cm) +{ if(!cm) return NULL; return cm->exchange_code; } @@ -209,7 +217,8 @@ gnc_commodity_get_exchange_code(const gnc_commodity * cm) { ********************************************************************/ int -gnc_commodity_get_fraction(const gnc_commodity * cm) { +gnc_commodity_get_fraction(const gnc_commodity * cm) +{ if(!cm) return 0; return cm->fraction; } @@ -219,11 +228,19 @@ gnc_commodity_get_fraction(const gnc_commodity * cm) { ********************************************************************/ gint16 -gnc_commodity_get_mark(const gnc_commodity * cm) { +gnc_commodity_get_mark(const gnc_commodity * cm) +{ if(!cm) return 0; return cm->mark; } +GNCBook * +gnc_commodity_get_book(const gnc_commodity * cm) +{ + if(!cm) return NULL; + return cm->book; +} + /******************************************************************** * gnc_commodity_set_mnemonic ********************************************************************/ @@ -859,7 +876,8 @@ gnc_commodity_table_equal(gnc_commodity_table *t_1, ********************************************************************/ gboolean -gnc_commodity_table_add_default_data(gnc_commodity_table *table) +gnc_commodity_table_add_default_data(gnc_commodity_table *table, + GNCBook *book) { #include "./iso-4217-currencies.c" diff --git a/src/engine/gnc-commodity.h b/src/engine/gnc-commodity.h index 55904e761c..2109846679 100644 --- a/src/engine/gnc-commodity.h +++ b/src/engine/gnc-commodity.h @@ -25,9 +25,7 @@ #define GNC_COMMODITY_H #include - -typedef struct _gnc_commodity gnc_commodity; -typedef struct _gnc_commodity_table gnc_commodity_table; +#include "gnc-engine.h" #define GNC_COMMODITY_NS_LEGACY "GNC_LEGACY_CURRENCIES" #define GNC_COMMODITY_NS_ISO "ISO4217" @@ -43,7 +41,8 @@ gnc_commodity * gnc_commodity_new(const char * fullname, const char * namespace, const char * mnemonic, const char * exchange_code, - int fraction); + int fraction, + GNCBook *); void gnc_commodity_destroy(gnc_commodity * cm); @@ -55,6 +54,7 @@ const char * gnc_commodity_get_exchange_code(const gnc_commodity * cm); const char * gnc_commodity_get_unique_name(const gnc_commodity * cm); int gnc_commodity_get_fraction(const gnc_commodity * cm); gint16 gnc_commodity_get_mark(const gnc_commodity * cm); +GNCBook * gnc_commodity_get_book(const gnc_commodity * cm); void gnc_commodity_set_mnemonic(gnc_commodity * cm, const char * mnemonic); void gnc_commodity_set_namespace(gnc_commodity * cm, const char * namespace); @@ -117,6 +117,6 @@ gboolean gnc_commodity_table_foreach_commodity(gnc_commodity_table * table, gpointer user_data), gpointer user_data); -gboolean gnc_commodity_table_add_default_data(gnc_commodity_table *table); +gboolean gnc_commodity_table_add_default_data(gnc_commodity_table *table, GNCBook*); #endif diff --git a/src/engine/gnc-engine.h b/src/engine/gnc-engine.h index 20bfb92d54..096de6bafd 100644 --- a/src/engine/gnc-engine.h +++ b/src/engine/gnc-engine.h @@ -27,16 +27,16 @@ #include -#include "gnc-commodity.h" - /** TYPES **********************************************************/ -typedef struct account_s Account; -typedef struct account_group_s AccountGroup; -typedef struct split_s Split; -typedef struct transaction_s Transaction; -typedef struct gnc_book_struct GNCBook; -typedef struct gnc_session_struct GNCSession; +typedef struct account_s Account; +typedef struct account_group_s AccountGroup; +typedef struct split_s Split; +typedef struct transaction_s Transaction; +typedef struct gnc_book_struct GNCBook; +typedef struct gnc_session_struct GNCSession; +typedef struct gnc_commodity_s gnc_commodity; +typedef struct gnc_commodity_table_s gnc_commodity_table; typedef GList AccountList; typedef GList SplitList; diff --git a/src/engine/gw-engine-spec.scm b/src/engine/gw-engine-spec.scm index d2f0e84493..6a461587c9 100644 --- a/src/engine/gw-engine-spec.scm +++ b/src/engine/gw-engine-spec.scm @@ -2143,7 +2143,8 @@ of having a parent transaction with which one is working...") (( gw:const) namespace) (( gw:const) mnemonic) (( gw:const) exchange-code) - ( smallest-fraction)) + ( smallest-fraction) + ( book)) "Create a new gnc_commodity object.") (gw:wrap-function diff --git a/src/engine/iso-currencies-to-c b/src/engine/iso-currencies-to-c index a7adc99ea4..e99abe7551 100755 --- a/src/engine/iso-currencies-to-c +++ b/src/engine/iso-currencies-to-c @@ -37,7 +37,7 @@ exec guile -s $0 "$@" ~S, ~S, ~S, - ~S);\n + ~S, book);\n if(!c) { PWARN(\"failed to create commodity for currency %s\", fullname); } else { diff --git a/src/engine/test-core/test-engine-stuff.c b/src/engine/test-core/test-engine-stuff.c index 35678907b8..35e4afedbd 100644 --- a/src/engine/test-core/test-engine-stuff.c +++ b/src/engine/test-core/test-engine-stuff.c @@ -1128,7 +1128,7 @@ get_random_commodity (GNCBook *book) xcode = get_random_string(); ran_int = get_random_int_in_range(1, 100000); - ret = gnc_commodity_new (name, space, mn, xcode, ran_int); + ret = gnc_commodity_new (name, space, mn, xcode, ran_int, book); g_free(mn); g_free(name); diff --git a/src/engine/test/test-commodities.c b/src/engine/test/test-commodities.c index 65c2926ab4..f7f5cb0e2f 100644 --- a/src/engine/test/test-commodities.c +++ b/src/engine/test/test-commodities.c @@ -16,7 +16,7 @@ test_commodity(void) gnc_commodity *com; { - com = gnc_commodity_new(NULL, NULL, NULL, NULL, 0); + com = gnc_commodity_new(NULL, NULL, NULL, NULL, 0, NULL); gnc_commodity_destroy(com); @@ -38,7 +38,7 @@ test_commodity(void) fraction = get_random_int_in_range(0, 10000); com = gnc_commodity_new(fullname, namespace, mnemonic, - exchange_code, fraction); + exchange_code, fraction, NULL); do_test( com != NULL, "commodity with data new and destroy"); @@ -94,7 +94,7 @@ test_commodity(void) "reset fraction code equal test"); com2 = gnc_commodity_new(fullname, namespace, mnemonic, - exchange_code, fraction); + exchange_code, fraction, NULL); do_test( gnc_commodity_equiv(com, com2), "commodity equiv");