gnucash stable: [Transaction|Split.cpp] Remove Reg2 unused functions

Christopher Lam clam at code.gnucash.org
Mon Jun 17 10:09:29 EDT 2024


Updated	 via  https://github.com/Gnucash/gnucash/commit/119e2571 (commit)
	from  https://github.com/Gnucash/gnucash/commit/96311762 (commit)



commit 119e2571464fc66b09f95331df5b11c6cdfe42cc
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Mon Jun 17 21:51:44 2024 +0800

    [Transaction|Split.cpp] Remove Reg2 unused functions

diff --git a/libgnucash/engine/Split.cpp b/libgnucash/engine/Split.cpp
index d4c6baaa53..d1b5c37365 100644
--- a/libgnucash/engine/Split.cpp
+++ b/libgnucash/engine/Split.cpp
@@ -926,39 +926,6 @@ xaccSplitEqual(const Split *sa, const Split *sb,
 }
 
 
-/*################## Added for Reg2 #################*/
-/********************************************************************
- * xaccSplitListGetUniqueTransactions
- ********************************************************************/
-GList *
-xaccSplitListGetUniqueTransactionsReversed (const GList *splits)
-{
-    GHashTable *txn_hash = g_hash_table_new (nullptr, nullptr);
-    GList *transList = nullptr;
-    const GList *snode;
-
-    for (snode = splits; snode; snode = snode->next)
-    {
-        Transaction *trans = xaccSplitGetParent((Split *)(snode->data));
-
-        if (g_hash_table_contains (txn_hash, trans))
-            continue;
-
-        g_hash_table_insert (txn_hash, trans, nullptr);
-        transList = g_list_prepend (transList, trans);
-    }
-    g_hash_table_destroy (txn_hash);
-    return transList;
-}
-
-GList *
-xaccSplitListGetUniqueTransactions(const GList *splits)
-{
-    return g_list_reverse (xaccSplitListGetUniqueTransactionsReversed (splits));
-}
-
-/*################## Added for Reg2 #################*/
-
 
 /********************************************************************
  * Account funcs
diff --git a/libgnucash/engine/Split.h b/libgnucash/engine/Split.h
index e3889c832f..14f1457c51 100644
--- a/libgnucash/engine/Split.h
+++ b/libgnucash/engine/Split.h
@@ -360,11 +360,6 @@ gboolean xaccSplitEqual(const Split *sa, const Split *sb,
 Split      * xaccSplitLookup (const GncGUID *guid, QofBook *book);
 #define      xaccSplitLookupDirect(g,b) xaccSplitLookup(&(g),b)
 
-/*################## Added for Reg2 #################*/
-/* Get a GList of unique transactions containing the given list of Splits. */
-GList *xaccSplitListGetUniqueTransactionsReversed (const GList *splits);
-GList *xaccSplitListGetUniqueTransactions(const GList *splits);
-/*################## Added for Reg2 #################*/
 /** Add a peer split to this split's lot-split list.
  * @param other_split: The split whose guid to add
  * @param timestamp: The time to be recorded for the split.
diff --git a/libgnucash/engine/Transaction.cpp b/libgnucash/engine/Transaction.cpp
index d50dce9073..0a196634f9 100644
--- a/libgnucash/engine/Transaction.cpp
+++ b/libgnucash/engine/Transaction.cpp
@@ -1190,56 +1190,6 @@ xaccTransGetAccountAmount (const Transaction *trans, const Account *acc)
     return total;
 }
 
-/*################## Added for Reg2 #################*/
-gboolean
-xaccTransGetRateForCommodity(const Transaction *trans,
-                             const gnc_commodity *split_com,
-                             const Split *split, gnc_numeric *rate)
-{
-    GList *splits;
-    gnc_commodity *trans_curr;
-
-    if (trans == nullptr || split_com == nullptr || split == nullptr)
-	return FALSE;
-
-    trans_curr = xaccTransGetCurrency (trans);
-    if (gnc_commodity_equal (trans_curr, split_com))
-    {
-        if (rate)
-            *rate = gnc_numeric_create (1, 1);
-        return TRUE;
-    }
-
-    for (splits = trans->splits; splits; splits = splits->next)
-    {
-        Split *s = GNC_SPLIT(splits->data);
-        gnc_commodity *comm;
-
-        if (!xaccTransStillHasSplit (trans, s)) continue;
-
-        if (s == split)
-        {
-            comm = xaccAccountGetCommodity (xaccSplitGetAccount(s));
-            if (gnc_commodity_equal (split_com, comm))
-            {
-                gnc_numeric amt = xaccSplitGetAmount (s);
-                gnc_numeric val = xaccSplitGetValue (s);
-
-                if (!gnc_numeric_zero_p (xaccSplitGetAmount (s)) &&
-                    !gnc_numeric_zero_p (xaccSplitGetValue (s)))
-                {
-                    if (rate)
-                        *rate = gnc_numeric_div (amt, val, GNC_DENOM_AUTO,
-                                                GNC_HOW_DENOM_REDUCE);
-                    return TRUE;
-                }
-            }
-        }
-    }
-    return FALSE;
-}
-/*################## Added for Reg2 #################*/
-
 gnc_numeric
 xaccTransGetAccountConvRate(const Transaction *txn, const Account *acc)
 {
@@ -2597,26 +2547,6 @@ gboolean xaccTransIsReadonlyByPostedDate(const Transaction *trans)
     return result;
 }
 
-/*################## Added for Reg2 #################*/
-
-gboolean xaccTransInFutureByPostedDate (const Transaction *trans)
-{
-    time64 present;
-    gboolean result;
-    g_assert(trans);
-
-    present = gnc_time64_get_today_end ();
-
-    if (trans->date_posted > present)
-        result = TRUE;
-    else
-        result = FALSE;
-
-    return result;
-}
-
-/*################## Added for Reg2 #################*/
-
 gboolean
 xaccTransHasReconciledSplitsByAccount (const Transaction *trans,
                                        const Account *account)
diff --git a/libgnucash/engine/Transaction.h b/libgnucash/engine/Transaction.h
index b58310ddf9..3f6f1fdef2 100644
--- a/libgnucash/engine/Transaction.h
+++ b/libgnucash/engine/Transaction.h
@@ -452,13 +452,6 @@ const char *  xaccTransGetReadOnly (Transaction *trans);
  * qof_book_uses_autofreeze() and qof_book_get_autofreeze_gdate(). */
 gboolean xaccTransIsReadonlyByPostedDate(const Transaction *trans);
 
-/*################## Added for Reg2 #################*/
-
-/** Returns TRUE if this Transaction's posted-date is in the future */
-gboolean xaccTransInFutureByPostedDate (const Transaction *trans);
-
-/*################## Added for Reg2 #################*/
-
 /** Returns the number of splits in this transaction. */
 int           xaccTransCountSplits (const Transaction *trans);
 
@@ -531,15 +524,6 @@ gnc_numeric xaccTransGetAccountValue (const Transaction *trans,
 gnc_numeric xaccTransGetAccountAmount (const Transaction *trans,
                                        const Account *account);
 
-/*################## Added for Reg2 #################*/
-/* Gets the amt/val rate, i.e. rate from the transaction currency to
-   the 'split_com' */
-gboolean
-xaccTransGetRateForCommodity(const Transaction *trans,
-                             const gnc_commodity *split_com,
-                             const Split *split_to_exclude, gnc_numeric *rate);
-/*################## Added for Reg2 #################*/
-
 /* Compute the conversion rate for the transaction to this account.
  * Any "split value" (which is in the transaction currency),
  * multiplied by this conversion rate, will give you the value you
diff --git a/libgnucash/engine/test/utest-Transaction.cpp b/libgnucash/engine/test/utest-Transaction.cpp
index 5c252e5136..ca81e15e67 100644
--- a/libgnucash/engine/test/utest-Transaction.cpp
+++ b/libgnucash/engine/test/utest-Transaction.cpp
@@ -1171,38 +1171,7 @@ test_xaccTransGetAccountAmount (Fixture *fixture, gconstpointer pData)
     g_assert_true (gnc_numeric_eq (xaccTransGetAccountAmount (fixture->txn, fixture->acc2), amt2));
 
 }
-/* xaccTransGetRateForCommodity
-gboolean
-xaccTransGetRateForCommodity(const Transaction *trans,
-                             const gnc_commodity *split_com,
-                             const Split *split, gnc_numeric *rate)
-*/
-static void
-test_xaccTransGetRateForCommodity (Fixture *fixture, gconstpointer pData)
-{
-    gnc_numeric rate = gnc_numeric_zero ();
-    QofBook *book = qof_instance_get_book (QOF_INSTANCE (fixture->txn));
-    auto split0 = xaccMallocSplit (book);
-    auto split1 = xaccTransFindSplitByAccount(fixture->txn, fixture->acc1);
-    g_assert_true (!xaccTransGetRateForCommodity (NULL, fixture->comm,
-              split0, &rate));
-    g_assert_true (!xaccTransGetRateForCommodity (fixture->txn, NULL,
-              split0, &rate));
-    g_assert_true (!xaccTransGetRateForCommodity (fixture->txn, fixture->comm,
-              NULL, &rate));
-    g_assert_true (xaccTransGetRateForCommodity (fixture->txn, fixture->curr,
-                                            split0, &rate));
-    g_assert_true (gnc_numeric_equal (rate, gnc_numeric_create (1, 1)));
-    rate = gnc_numeric_zero ();
-    g_assert_true (!xaccTransGetRateForCommodity (fixture->txn, fixture->comm,
-              split0, &rate));
-    g_assert_true (gnc_numeric_zero_p (rate));
-
-    g_assert_true (xaccTransGetRateForCommodity (fixture->txn, fixture->comm,
-                                            split1, &rate));
-    g_assert_true (gnc_numeric_equal (rate, gnc_numeric_create (1800, 240)));
 
-}
 /* xaccTransGetAccountConvRate
 gnc_numeric
 xaccTransGetAccountConvRate(const Transaction *txn, const Account *acc)// C: 5 in 4  Local: 0:0:0
@@ -2063,7 +2032,6 @@ test_suite_transaction (void)
     GNC_TEST_ADD (suitename, "xaccTransIsBalanced", Fixture, NULL, setup, test_xaccTransIsBalanced, teardown);
     GNC_TEST_ADD (suitename, "xaccTransIsBalanced Trading Accounts", Fixture, NULL, setup, test_xaccTransIsBalanced_trading, teardown);
     GNC_TEST_ADD (suitename, "xaccTransGetAccountValue", Fixture, NULL, setup, test_xaccTransGetAccountValue, teardown);
-    GNC_TEST_ADD (suitename, "xaccTransGetRateForCommodity", Fixture, NULL, setup, test_xaccTransGetRateForCommodity, teardown);
     GNC_TEST_ADD (suitename, "xaccTransGetAccountAmount", Fixture, NULL, setup, test_xaccTransGetAccountAmount, teardown);
     GNC_TEST_ADD (suitename, "xaccTransGetAccountConvRate", Fixture, NULL, setup, test_xaccTransGetAccountConvRate, teardown);
     GNC_TEST_ADD (suitename, "xaccTransGetAccountBalance", Fixture, NULL, setup, test_xaccTransGetAccountBalance, teardown);



Summary of changes:
 libgnucash/engine/Split.cpp                  | 33 -------------
 libgnucash/engine/Split.h                    |  5 --
 libgnucash/engine/Transaction.cpp            | 70 ----------------------------
 libgnucash/engine/Transaction.h              | 16 -------
 libgnucash/engine/test/utest-Transaction.cpp | 32 -------------
 5 files changed, 156 deletions(-)



More information about the gnucash-changes mailing list