gnucash/libgnucash/engine
John Ralls 7d7da8e2c4 Bug 797067 - Date displayed incorrectly in register take two.
Revert using boost::locale to generate std::locales as boost::locale-
generated locales don't implement std::locale::facet and there was
a bug in the boost::locale ICU wrapper code that caused the wrong year
to be output for the last 3 days of December.

GCC's libstdc++ supports only the "C" locale on Windows and throws if
one attempts to create any other kind. For dates we work around this
by using wstrftime() to format according to locale and then convert
the UTF16 string to UTF8. wstrftime() interprets the time zone flags
%z, %Z, and %ZP differently so we process those first before calling
strftime. This will have the unfortunate effect of not localizing
timezone names but it's as close as we can get.
2019-02-08 11:56:32 -08:00
..
test Bug 797067 - Date displayed incorrectly in register take two. 2019-02-08 11:56:32 -08:00
test-core Use split SCU when borking random split pairs. 2018-11-10 11:35:16 +09:00
Account.cpp Speed-up of dealing with account_imap lists: Replace g_list_append with _prepend and subsequent _reverse. 2019-01-18 23:52:51 +01:00
Account.h Fix Imap Editor to reflect the changes in kvp paths 2018-03-29 17:32:57 +01:00
AccountP.h Account.c to Account.cpp 2017-12-21 07:39:32 -05:00
business-core.i Merge branch 'maint' 2017-09-10 19:16:38 +02:00
business-core.scm Restructure the src directory 2017-08-10 18:45:00 +02:00
cap-gains.c Fix most of the unused assignment errors from static analysis. 2018-11-30 15:08:41 +09:00
cap-gains.h Restructure the src directory 2017-08-10 18:45:00 +02:00
cashobjects.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
cashobjects.h Restructure the src directory 2017-08-10 18:45:00 +02:00
CMakeLists.txt boost needs bcrypt.lib for all versions of Windows. 2018-12-16 16:31:06 -08:00
commodity-table.scm Restructure the src directory 2017-08-10 18:45:00 +02:00
design.txt Restructure the src directory 2017-08-10 18:45:00 +02:00
engine-common.i Restructure the src directory 2017-08-10 18:45:00 +02:00
engine-deprecated.c Preserve timespec-using functions in Guile bindings. 2018-08-16 10:47:41 -07:00
engine-deprecated.h Preserve timespec-using functions in Guile bindings. 2018-08-16 10:47:41 -07:00
engine-helpers-guile.h Delete the last vestiges of timepair. 2018-07-23 12:00:54 -07:00
engine-helpers.c Fix most of the unused assignment errors from static analysis. 2018-11-30 15:08:41 +09:00
engine-helpers.h Remove Timespec from the main engine classes (Transaction, Split, & Account. 2018-08-13 11:52:42 -07:00
engine-interface.scm Bug 767772 - Associated file with transaction is lost 2018-12-28 09:45:50 +01:00
engine-utilities.scm Restructure the src directory 2017-08-10 18:45:00 +02:00
engine.i Preserve timespec-using functions in Guile bindings. 2018-08-16 10:47:41 -07:00
engine.scm Replace the gnc:numeric pair with normal Scheme rationals. 2017-12-21 15:33:15 -08:00
extensions.txt Restructure the src directory 2017-08-10 18:45:00 +02:00
FreqSpec.h Restructure the src directory 2017-08-10 18:45:00 +02:00
glib-helpers.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
glib-helpers.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-aqbanking-templates.cpp Fix most of the unused assignment errors from static analysis. 2018-11-30 15:08:41 +09:00
gnc-aqbanking-templates.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-backend-prov.hpp Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-budget.c Fix memory leak using qof_instance_get on a GncGUID 2018-09-09 22:50:05 +02:00
gnc-budget.h timespec->time64 for gnc_budget_get_period... 2018-01-08 13:01:29 +11:00
gnc-commodity.c Fix a bunch of memory allocation errors found by clang static analysis. 2018-11-30 15:08:41 +09:00
gnc-commodity.h Bug 786708 - GnuCash won't load currency fractions larger than 1000000. 2018-09-21 12:59:50 -07:00
gnc-date-p.h Don't need NANOS_PER_SECOND anymore. 2018-09-21 13:00:19 -07:00
gnc-date.cpp Add GncDateTime::timestamp(). 2019-01-06 10:13:00 -08:00
gnc-date.h Introduce and use gnc_time64_get_day_neutral 2018-11-20 21:12:32 +01:00
gnc-datetime.cpp Bug 797067 - Date displayed incorrectly in register take two. 2019-02-08 11:56:32 -08:00
gnc-datetime.hpp Add GncDateTime::timestamp(). 2019-01-06 10:13:00 -08:00
gnc-engine.c Don't look for backend libraries in old autotools subdirs. 2018-06-07 17:38:04 -07:00
gnc-engine.h Account.c to Account.cpp 2017-12-21 07:39:32 -05: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.c New feature for register sort/filter settings move. 2018-08-17 11:31:25 +01:00
gnc-features.h New feature for register sort/filter settings move. 2018-08-17 11:31:25 +01:00
gnc-hooks-scm.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-hooks.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gnc-hooks.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-int128.cpp Silence clang static analyzer complaint about potential div by 0. 2018-11-30 15:08:41 +09:00
gnc-int128.hpp Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-lot-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-lot.c Rename qofinstance function 2017-12-21 07:39:33 -05:00
gnc-lot.h Account.c to Account.cpp 2017-12-21 07:39:32 -05:00
gnc-numeric.cpp Catch std::underflow_error as well as std::overflow_error. 2018-09-21 14:28:49 -07:00
gnc-numeric.h Fix the comments on double_to_gnc_numeric. GNC_DENOM_AUTO is allowed. 2019-01-28 19:24:26 -05:00
gnc-numeric.hpp typo 2018-12-04 12:05:59 +01:00
gnc-numeric.scm Replace the gnc:numeric pair with normal Scheme rationals. 2017-12-21 15:33:15 -08:00
gnc-pricedb-p.h Remove Timespec from pricedb. 2018-08-13 11:52:42 -07:00
gnc-pricedb.c gnc_pricedb_nth_price: Clarify code and cache results. 2019-01-25 08:49:03 -08:00
gnc-pricedb.h Remove Timespec from pricedb. 2018-08-13 11:52:42 -07:00
gnc-rational-rounding.hpp Fix half-up, half-down, and banker's rounding for negative numbers. 2018-11-27 22:17:22 +09: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 Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gnc-session.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gnc-timezone.cpp Fix most of the unused assignment errors from static analysis. 2018-11-30 15:08:41 +09:00
gnc-timezone.hpp Add a TimeZoneProvider::dump(). 2018-04-27 14:16:49 -07:00
gnc-uri-utils.c gnc-uri - refer to 'scheme' instead of 'protocol' as that's the more formal term used in uris 2018-12-27 22:33:17 +01:00
gnc-uri-utils.h gnc-uri - refer to 'scheme' instead of 'protocol' as that's the more formal term used in uris 2018-12-27 22:33:17 +01:00
gncAddress.c Restructure the src directory 2017-08-10 18:45:00 +02:00
gncAddress.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncAddressP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncBillTerm.c Timespec->time64 in business code. 2018-08-13 11:52:42 -07:00
gncBillTerm.h Adding bill term time64 function 2018-01-08 13:01:29 +11:00
gncBillTermP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncBusGuile.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncBusGuile.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncBusiness.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncBusiness.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncCustomer.c Prevent potential nullptr dereference. 2018-11-30 15:08:41 +09:00
gncCustomer.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncCustomerP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncEmployee.c Prevent potential nullptr dereference. 2018-11-30 15:08:41 +09:00
gncEmployee.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncEmployeeP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncEntry.c Fix the remaining static analysis warnings. 2018-11-30 15:08:41 +09:00
gncEntry.h A more detailed revision of gncEntry and gncInvoice related rounding 2018-05-24 18:53:15 +02:00
gncEntryP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncIDSearch.c Restructure the src directory 2017-08-10 18:45:00 +02:00
gncIDSearch.h Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncInvoice.c Fix most of the unused assignment errors from static analysis. 2018-11-30 15:08:41 +09:00
gncInvoice.h Timespec->time64 in business code. 2018-08-13 11:52:42 -07:00
gncInvoiceP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncJob.c Rename qofinstance function 2017-12-21 07:39:33 -05:00
gncJob.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncJobP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncmod-engine.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
gncOrder.c Convert GNC_TYPE_TIMESPEC to GNC_TYPE_TIME64, Kvp::Type::Timespec to Kvp::Type::Time64 2018-08-12 16:12:19 -07:00
gncOrder.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
gncOrderP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncOwner.c Cache current owner balances 2018-09-23 16:00:41 +02:00
gncOwner.h Timespec->time64 in business code. 2018-08-13 11:52:42 -07:00
gncOwnerP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
gncTaxTable.c Fix the remaining static analysis warnings. 2018-11-30 15:08:41 +09:00
gncTaxTable.h Timespec->time64 in business code. 2018-08-13 11:52:42 -07:00
gncTaxTableP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncVendor.c Prevent potential nullptr dereference. 2018-11-30 15:08:41 +09:00
gncVendor.h Restructure the src directory 2017-08-10 18:45:00 +02:00
gncVendorP.h Cache current owner balances 2018-09-23 16:00:41 +02:00
guid.cpp Speed up GUID equality comparison. 2018-03-06 09:48:38 -08:00
guid.h Restructure the src directory 2017-08-10 18:45:00 +02:00
guid.hpp Speed up GUID equality comparison. 2018-03-06 09:48:38 -08:00
iso-4217-currencies.xml Update iso-4217-currencies.xml 2018-10-31 23:23:02 -04:00
iso-currencies-to-c.xsl Restructure the src directory 2017-08-10 18:45:00 +02:00
kvp_doc.txt Convert GNC_TYPE_TIMESPEC to GNC_TYPE_TIME64, Kvp::Type::Timespec to Kvp::Type::Time64 2018-08-12 16:12:19 -07:00
kvp-frame.cpp Convert GNC_TYPE_TIMESPEC to GNC_TYPE_TIME64, Kvp::Type::Timespec to Kvp::Type::Time64 2018-08-12 16:12:19 -07:00
kvp-frame.hpp Code review responses 2017-12-21 07:39:33 -05:00
kvp-scm.cpp Delete the last vestiges of timepair. 2018-07-23 12:00:54 -07:00
kvp-scm.h Restructure the src directory 2017-08-10 18:45:00 +02:00
kvp-value.cpp Fix the remaining static analysis warnings. 2018-11-30 15:08:41 +09:00
kvp-value.hpp Fix memory leak in char* type KvpValue and fix improper uses 2018-09-10 19:49:43 +02:00
policy-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
policy.c Transaction members Timespec->time64 2018-01-08 13:01:29 +11:00
policy.h Account.c to Account.cpp 2017-12-21 07:39:32 -05:00
qof-backend.cpp Remove support code to load qof backend in autotools based build environment 2018-01-26 18:26:06 +01:00
qof-backend.hpp kvp frame to template and correcting failure macro 2017-12-21 07:39:32 -05:00
qof-gobject.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qof-string-cache.cpp Correct string cache code 2017-12-21 07:39:33 -05:00
qof-string-cache.h Correct string cache code 2017-12-21 07:39:33 -05:00
qof-win32.cpp Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
qof.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofbackend.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofbook-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofbook.cpp remove unnecesary 'home' level in path for US Income Tax book tax information 2019-01-24 18:36:13 -08:00
qofbook.h remove unnecesary 'home' level in path for US Income Tax book tax information 2019-01-24 18:36:13 -08:00
qofbookslots.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofchoice.cpp Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02: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 Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
qofclass.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofevent-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofevent.cpp Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02: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 Fix a bunch of memory allocation errors found by clang static analysis. 2018-11-30 15:08:41 +09:00
qofid.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofinstance-p.h Timespec removal, engine odds-and-ends. 2018-08-13 11:52:43 -07:00
qofinstance.cpp Fix most of the unused assignment errors from static analysis. 2018-11-30 15:08:41 +09:00
qofinstance.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qoflog.cpp Bug 797041 - enum confusion in qoflog. 2019-01-13 16:29:11 -08:00
qoflog.h Merge branch 'maint' into unstable 2018-02-19 15:25:53 +01:00
qofobject-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofobject.cpp Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
qofobject.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofquery-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofquery.cpp Fix most of the unused assignment errors from static analysis. 2018-11-30 15:08:41 +09:00
qofquery.h Restructure the src directory 2017-08-10 18:45:00 +02: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 Timespec removal, engine odds-and-ends. 2018-08-13 11:52:43 -07: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 Bug 796878 - test-qofsession fails on x86_32. 2018-10-04 15:44:32 -07:00
qofsession.h Restructure the src directory 2017-08-10 18:45:00 +02:00
qofsession.hpp Allow saving to xml over an existing sqlite3 file and the other way around 2018-07-06 22:00:08 +02:00
qofutil.cpp Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
qofutil.h Restructure the src directory 2017-08-10 18:45:00 +02: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 Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02: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 Remove Timespec from the main engine classes (Transaction, Split, & Account. 2018-08-13 11:52:42 -07:00
Recurrence.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
SchedXaction.c Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
SchedXaction.h Bug 795031 - 3.0 Crashes on loading when opening 2.6.19 file 2018-04-26 23:06:36 +02:00
Scrub2.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
Scrub2.h Restructure the src directory 2017-08-10 18:45:00 +02:00
Scrub3.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
Scrub3.h Restructure the src directory 2017-08-10 18:45:00 +02:00
Scrub.c Merge Chris Carson's 'refactor-Scrub-c' into maint. 2019-01-04 15:49:42 -08:00
Scrub.h Add routine to fix Account Color being set to "Not Set" 2018-12-24 13:00:07 +00:00
ScrubBusiness.c Fix most of the unused assignment errors from static analysis. 2018-11-30 15:08:41 +09:00
ScrubBusiness.h Update bug tracker URL 2018-07-13 09:49:33 -07:00
ScrubP.h Restructure the src directory 2017-08-10 18:45:00 +02:00
Split.c Bug 786708 - GnuCash won't load currency fractions larger than 1000000. 2018-09-21 12:59:50 -07:00
Split.h Remove Timespec from the main engine classes (Transaction, Split, & Account. 2018-08-13 11:52:42 -07:00
SplitP.h Remove Timespec from the main engine classes (Transaction, Split, & Account. 2018-08-13 11:52:42 -07:00
SX-book-p.h Restructure the src directory 2017-08-10 18:45:00 +02:00
SX-book.c Fix memory leak using qof_instance_get on a GncGUID 2018-09-09 22:50:05 +02:00
SX-book.h Restructure the src directory 2017-08-10 18:45:00 +02: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 Restructure the src directory 2017-08-10 18:45:00 +02:00
Transaction.c Sorting speed-up: Cache the bool value of Transaction's is_closing property. 2018-12-31 14:50:36 +01:00
Transaction.h Fix memory leak in xaccTransGetReadOnly 2018-09-09 22:50:05 +02:00
TransactionP.h Sorting speed-up: Cache the bool value of Transaction's is_closing property. 2018-12-31 14:50:36 +01:00
TransLog.c Remove Timespec from the main engine classes (Transaction, Split, & Account. 2018-08-13 11:52:42 -07:00
TransLog.h Restructure the src directory 2017-08-10 18:45:00 +02: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