gnucash/libgnucash/engine
Simon Arlott 069eb61a3f
Avoid the potential negative left shift in test_xaccAccountType_Compatibility()
ACCT_TYPE_NONE is -1 but it should always be masked out by compat;
explicitly check for this instead of relying on that.

Add parenthesis to be clear that the default precedence is what's intended.
2023-06-24 20:30:48 +01:00
..
mocks Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
test Avoid the potential negative left shift in test_xaccAccountType_Compatibility() 2023-06-24 20:30:48 +01:00
test-core Refactor: use common code to free the list of guids 2023-06-21 10:36:31 +01:00
Account.cpp Demonstrate fx handling in budget report 2023-04-29 12:01:36 -07:00
Account.h Demonstrate fx handling in budget report 2023-04-29 12:01:36 -07:00
AccountP.h Fix some typos in comments 2023-05-13 13:00:25 +01:00
cap-gains.c Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
cap-gains.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
cashobjects.c Bug 798320 - Error message indicating a crash of GNUcash when closing... 2021-10-08 14:17:28 -07:00
cashobjects.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
CMakeLists.txt Import GLIB2 as a target, and use it to simplify the CMakeLists 2023-02-21 12:59:42 +00:00
design.txt Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
engine-helpers.c Remove the incomplete book-currency code. 2021-07-10 17:29:11 -07:00
engine-helpers.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
extensions.txt Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
FreqSpec.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-accounting-period.c [options] Move options from app-utils to engine. 2022-08-25 22:09:56 -07:00
gnc-accounting-period.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-aqbanking-templates.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-aqbanking-templates.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-backend-prov.hpp Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-budget.cpp [gnc-budget] gnc_budget_get_account_period_note returns a const 2022-11-19 10:35:49 +08:00
gnc-budget.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-commodity.c Fixups for merging into master instead of maint. 2023-03-02 17:02:46 -08:00
gnc-commodity.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-commodity.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-date-p.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gnc-date.cpp Use gnc_time() instead of time() 2023-06-06 15:40:36 +01:00
gnc-date.h Update Y2038 comments 2023-06-08 14:30:28 +01:00
gnc-datetime.cpp Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00:00
gnc-datetime.hpp Rename GncDateTime's ymd to gnc_ymd to avoid a name conflict with Carbon. 2023-01-09 14:36:06 -08:00
gnc-engine.c Bug 798237 - Logging during XML file loading degrades performance... 2021-09-14 15:15:11 -07:00
gnc-engine.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-euro.c Remove non-ISO4217 currency codes from gnc-euro table. 2022-09-30 15:12:19 -07:00
gnc-euro.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-event.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gnc-event.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-features.cpp [gnc-features.cpp] remove_if requires <algorithm> 2023-04-29 08:17:22 +08:00
gnc-features.h Refactor gnc-features. 2023-04-28 16:31:07 -07:00
gnc-hooks.c gnc-hooks - factor out scm calls into a separate source file 2019-12-06 19:59:11 +01:00
gnc-hooks.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-int128.cpp [-Wunused-value] - remove 2023-02-16 09:19:19 +00:00
gnc-int128.hpp Silence Clang deprecation warnings about sprintf. 2023-01-23 12:54:25 -08:00
gnc-lot-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-lot.c Fixups for merging into master instead of maint. 2023-03-02 17:02:46 -08:00
gnc-lot.h [gnc-lot.c] speed up gncInvoiceGetInvoiceFromLot by caching invoice 2020-04-30 23:56:26 +08:00
gnc-numeric.cpp Bug 798901 - Wrong value for very small prices from Finance::Quote. 2023-06-23 14:39:37 -07:00
gnc-numeric.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-numeric.hpp Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
gnc-option-date.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-option-date.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-option-impl.cpp [c++options]Dirty and changed are different. 2023-06-20 14:50:42 -07:00
gnc-option-impl.hpp [c++options]Dirty and changed are different. 2023-06-20 14:50:42 -07:00
gnc-option-ui.hpp [options] Move options from app-utils to engine. 2022-08-25 22:09:56 -07:00
gnc-option-uitype.hpp Bug753307 - Custom Report be selectable as default Report for Printing 2023-02-01 16:29:11 +00:00
gnc-option.cpp [c++options]Dirty and changed are different. 2023-06-20 14:50:42 -07:00
gnc-option.hpp [c++options]Dirty and changed are different. 2023-06-20 14:50:42 -07:00
gnc-optiondb-impl.hpp [c++options]Really fix the gnc_option_db_lookup_string_value leak 2023-03-06 11:43:50 -08:00
gnc-optiondb.cpp [c++options]Dirty and changed are different. 2023-06-20 14:50:42 -07:00
gnc-optiondb.h [c++options]Really fix the gnc_option_db_lookup_string_value leak 2023-03-06 11:43:50 -08:00
gnc-optiondb.hpp Bug 798952 - Unable to set day threshold or counters in properties 2023-06-17 16:49:52 -07:00
gnc-pricedb-p.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-pricedb.c Merge branch 'maint' 2023-01-26 18:40:44 +08:00
gnc-pricedb.h [gnc-pricedb] add user:stock-transaction price source 2022-03-11 14:31:02 +08:00
gnc-rational-rounding.hpp Bug 796949 - Fix division and rounding of zero. 2019-05-11 23:23:59 +01:00
gnc-rational.cpp Adjust catch syntax to avoid GCC8 warnings. 2018-04-03 22:02:44 -04:00
gnc-rational.hpp Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-session.c Decouple QofBook creation from QofSession. 2020-05-08 15:59:41 -07:00
gnc-session.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-timezone.cpp Use some unused variables 2023-02-06 14:20:31 +00:00
gnc-timezone.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gnc-uri-utils.c Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
gnc-uri-utils.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncAddress.c Remove extra semicolons 2023-01-24 13:22:18 +00:00
gncAddress.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncAddressP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncBillTerm.c Merge branch 'maint' 2023-01-26 18:40:44 +08:00
gncBillTerm.h Merge Richard Cohen's 'cleanup' into master. 2023-01-24 12:05:47 -08:00
gncBillTermP.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncBusiness.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncBusiness.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gncCustomer.c Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00:00
gncCustomer.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gncCustomerP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncEmployee.c Remove extra semicolons 2023-01-24 13:22:18 +00:00
gncEmployee.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gncEmployeeP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncEntry.c Merge branch 'maint' 2023-01-26 18:40:44 +08:00
gncEntry.h Merge Richard Cohen's 'cleanup' into master. 2023-01-24 12:05:47 -08:00
gncEntryP.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncIDSearch.c Revert b5f5129f7 using gnc_list_length_cmp 2021-11-02 23:34:26 +08:00
gncIDSearch.h Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncInvoice.c Fix crash in test-engine on Arch 2023-05-15 20:03:23 +01:00
gncInvoice.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gncInvoiceP.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncJob.c Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00:00
gncJob.h Merge branch 'maint' 2023-01-26 18:40:44 +08:00
gncJobP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncOrder.c Remove extra semicolons 2023-01-24 13:22:18 +00:00
gncOrder.h Merge Richard Cohen's 'cleanup' into master. 2023-01-24 12:05:47 -08:00
gncOrderP.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
gncOwner.c Refactor: Remove some unnecessary uses of memcpy 2023-06-15 11:10:58 +01:00
gncOwner.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncOwnerP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncTaxTable.c Merge branch 'maint' 2023-01-26 18:40:44 +08:00
gncTaxTable.h Merge Richard Cohen's 'cleanup' into master. 2023-01-24 12:05:47 -08:00
gncTaxTableP.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
gncVendor.c Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00:00
gncVendor.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
gncVendorP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
guid.cpp Refactor: Remove some unnecessary uses of memcpy 2023-06-15 11:10:58 +01:00
guid.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
guid.hpp Move operator==(const GncGUID&, const GncGUID&) to guid.[ch]pp. 2023-03-18 13:53:49 -07:00
iso-4217-currencies.xml edit: use &apos; instead of ` symbol 2023-04-24 02:04:35 +05:00
iso-currencies-to-c.xsl Restructure the src directory 2017-08-10 18:45:00 +02:00
kvp_doc.txt Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
kvp-frame.cpp Fix incorrect logging after switch fallthrough 2023-06-06 15:16:39 +01:00
kvp-frame.hpp [kvp-frame.cpp] expose iterator, skip inexistent frame 2022-04-09 17:45:44 +08:00
kvp-value.cpp [engine] Remove two replace functions from KvpValue 2023-04-02 21:12:50 +02:00
kvp-value.hpp Remove unused boxed type gnc_value_list 2023-05-25 14:42:28 +01:00
policy-p.h Merge branch 'maint' 2022-04-14 18:02:17 -07:00
policy.c [-Wunused-function] - remove 2023-02-16 09:20:59 +00:00
policy.h Remove the incomplete book-currency code. 2021-07-10 17:29:11 -07:00
qof-backend.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qof-backend.hpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qof-gobject.h Remove extra semicolons 2023-01-24 13:22:18 +00:00
qof-string-cache.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qof-string-cache.h Use const return values for string cache 2021-07-11 18:54:49 +01:00
qof-win32.cpp Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
qof.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qofbackend.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
qofbook-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofbook.cpp Ensure incorrectly coded counter KVP is read correctly. 2023-05-26 21:24:06 -04:00
qofbook.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
qofbook.hpp Refactor gnc-features. 2023-04-28 16:31:07 -07:00
qofbookslots.h Allow to select saved report on print invoice button 2023-02-02 14:05:53 +00:00
qofchoice.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofchoice.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofclass-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofclass.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofclass.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
qofevent-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofevent.cpp Fix build with glib2 2.67.x. 2021-02-16 13:23:16 -08:00
qofevent.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofid-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofid.cpp Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qofid.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
qofinstance-p.h Timespec removal, engine odds-and-ends. 2018-08-13 11:52:43 -07:00
qofinstance.cpp Fix dereference of expired temporaries. 2023-03-31 11:27:33 -07:00
qofinstance.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
qoflog.cpp Use const references for for-loops to avoid unnecessary copies 2023-01-31 14:44:57 +00:00
qoflog.h Don't use extern "C" around #includes 2023-03-03 18:55:42 +00:00
qofobject-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofobject.cpp [-Wunused-function] - remove 2023-02-16 09:20:59 +00:00
qofobject.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
qofquery-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofquery.cpp Refactor: Remove some unnecessary uses of memcpy 2023-06-15 11:10:58 +01:00
qofquery.h Fix various typos 2022-04-08 14:12:50 -04:00
qofquerycore-p.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
qofquerycore.cpp Avoid unnecessary g_list_length in equality functions 2021-10-21 17:56:15 +08:00
qofquerycore.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
qofsession.cpp Fix some typos in comments 2023-05-13 13:00:25 +01:00
qofsession.h use same order in comment as in definition of SessionOpenMode enum 2020-07-04 22:26:35 +02:00
qofsession.hpp Fix some return of ptr-to-temporary errors 2020-09-25 12:31:52 -07:00
qofutil.cpp Bug 798679 - Unicode normalization should be used for comparison but not stored. 2023-01-04 13:19:36 -08:00
qofutil.h scanf supports %lld since C++11, C99 2023-05-15 13:21:30 +01:00
Query.c Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
Query.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
README Restructure the src directory 2017-08-10 18:45:00 +02:00
README.query-api Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
Recurrence.c Demonstrate fx handling in budget report 2023-04-29 12:01:36 -07:00
Recurrence.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
SchedXaction.c Refactor: Remove some unnecessary uses of memcpy 2023-06-15 11:10:58 +01:00
SchedXaction.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
Scrub2.c Make xaccScrubUtilityGetOrMakeAccount static and remove ScrubP.h 2021-01-27 17:44:21 -08:00
Scrub2.h Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
Scrub3.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
Scrub3.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
Scrub.c [Scrub.c] 8628ca8715 rewritten to avoid QofQuery 2023-06-12 23:59:37 +08:00
Scrub.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
ScrubBudget.c [budget-feature] move unset_feature call to gnc_budget_gui_delete_budget 2022-10-31 12:03:58 +08:00
ScrubBudget.h [1/2][Scrubbudget.c] use heuristics to scrub budget signs 2021-12-03 17:40:21 +08:00
ScrubBusiness.c g_free gnc_ctime which returns a new gchar* 2021-08-05 21:42:31 +08:00
ScrubBusiness.h Update bug tracker URL 2018-07-13 09:49:33 -07:00
Split.c Fixups for merging into master instead of maint. 2023-03-02 17:02:46 -08:00
Split.h [Split.c] xaccSplitListGetUniqueTransactionsReversed 2021-02-24 09:08:25 +08:00
SplitP.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
SX-book-p.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
SX-book.c Merge branch 'maint' 2023-01-26 18:40:44 +08:00
SX-book.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
SX-ttinfo.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
SX-ttinfo.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
Transaction.c bugfix xaccTransGetTxnType: avoid returning TXN_TYPE_LINK incorrectly 2023-06-14 18:29:00 +08:00
Transaction.h [Transaction.c] use heuristics to determine txn->txn_type 2022-07-18 09:24:05 +08:00
TransactionP.h Merge branch 'maint' 2023-02-27 16:24:44 -08:00
TransLog.c Remove some unused variables with obviously no side effects 2023-02-06 14:19:22 +00:00
TransLog.h Use internal extern "C" { ... } for C++ 2023-01-23 18:40:01 +00:00
xlate.pl Restructure the src directory 2017-08-10 18:45:00 +02:00

This directory contains code for the accounting engine.
Its fairly clean but far from perfect, and it certainly
lacks advanced features.

There should be no GUI code in this subdirectory, and,
ideally, it should build cleanly and independently of 
any GUI elements or assumptions.

For design documentation, please see the file "design.txt",
and also, look at the header files carefully.  The documentation
for each routine is in the header files for that routine.

September 1998