Commit graph

133 commits

Author SHA1 Message Date
John Wiegley
9b7725ee18 Added a simple optimization to the way amount strings are parsed. 2008-07-26 23:55:06 -04:00
John Wiegley
6cb519231f If AMOUNT_PARSE_NO_MIGRATE is set, do not set a commodity's precision even if
this is the first time a commodity is being seen.  The reason is that it's
quite possible (especially in bug reports) for the cost of a priced
transaction to contain the first occurrence of a commodity.
2008-07-17 20:55:15 -04:00
John Wiegley
6815aac361 Removed unnecessary assert. 2008-07-17 17:44:26 -04:00
John Wiegley
7ddb1415b6 Added #include lines for building on Debian lenny. 2008-07-13 22:50:21 -04:00
Nathan Jones
780135281d Fix compile errors with gcc 4.3 2008-05-20 17:13:34 -06:00
John Wiegley
a451dd9285 Fixes to the commodity comparison logic. 2008-04-13 05:06:13 -04:00
John Wiegley
9ec136db90 *** empty log message *** 2008-04-13 02:41:32 -04:00
John Wiegley
5a93d4819e Reworked the way date/times are handled. 2008-04-13 02:41:32 -04:00
John Wiegley
a5aff9eee9 Several fixes to lot price handling. 2008-04-13 02:41:31 -04:00
John Wiegley
44561c1c1d Further refinement of commodity lot information. 2008-04-13 02:41:31 -04:00
John Wiegley
964e74e333 *** empty log message *** 2008-04-13 02:41:31 -04:00
John Wiegley
c8ebf53ed8 *** empty log message *** 2008-04-13 02:41:31 -04:00
John Wiegley
32bdfe20d9 Tons of corrections and fixes to value expressions and lot figures. 2008-04-13 02:41:31 -04:00
John Wiegley
9800e3febc *** empty log message *** 2008-04-13 02:41:31 -04:00
John Wiegley
31b68bbebc *** empty log message *** 2008-04-13 02:41:30 -04:00
John Wiegley
b1a04923fe *** empty log message *** 2008-04-13 02:41:30 -04:00
John Wiegley
30f79b0761 *** empty log message *** 2008-04-13 02:41:30 -04:00
John Wiegley
82d0ee869b Added --ansi and --ansi-invert options. 2008-04-13 02:41:30 -04:00
John Wiegley
e32d9e64a7 Added much better error location. 2008-04-13 02:41:29 -04:00
John Wiegley
b737cd8e6d Added a DATETIME value type. 2008-04-13 02:41:29 -04:00
John Wiegley
d02f74efea *** empty log message *** 2008-04-13 02:41:29 -04:00
John Wiegley
326235ffbe *** empty log message *** 2008-04-13 02:41:29 -04:00
John Wiegley
7acc1306d9 *** empty log message *** 2008-04-13 02:41:29 -04:00
John Wiegley
2ebfddf401 Began support for improved commodity handling. 2008-04-13 02:41:28 -04:00
John Wiegley
96d6d62ad9 Began support for improved commodity handling. 2008-04-13 02:41:28 -04:00
John Wiegley
0c55a5ee1b (read_binary_journal): Fixed a tiny memory leak when reading from a
binary cache.
2008-04-13 02:41:28 -04:00
John Wiegley
7901598f1d Checked in all major updates. 2008-04-13 02:41:27 -04:00
John Wiegley
0876d31157 (amount_t::valid): Don't verify the commodity as being non-null, since
NULL is a perfectly valid value for a commodity (it just means
null_commodity).  Also, never use commodity_->member, but always
commodity().member.
2008-04-13 02:41:25 -04:00
John Wiegley
a8012940f4 Removed Python integration support. 2008-04-13 02:41:21 -04:00
John Wiegley
ed63481f3b *** empty log message *** 2008-04-13 02:41:17 -04:00
John Wiegley
d65a758c84 Moved the setting of time quantities to the commodity initialization
section.
2008-04-13 02:41:16 -04:00
John Wiegley
1e6bfc7796 (amount_t::value): Corrected a problem with commodity rounding after
market values are determined (was using the wrong commodity's
precision value).
(commodity_t::value): Fixed the market value calculation algorithm,
which was very broken (but only seemed to show up if the price history
was very small).
2008-04-13 02:41:14 -04:00
John Wiegley
e8df173270 (find_commodity): Don't copy over the NOMARKET flag from the default
commodity.
2008-04-13 02:41:14 -04:00
John Wiegley
a10f3f02e7 (parse): Allow "-$100.00" as the equivalent of "$-100.00". 2008-04-13 02:41:12 -04:00
John Wiegley
3797cb1ad9 (amount_t::parse): Only set the SUFFIXED flag if there is actually a
commodity symbol.
2008-04-13 02:41:10 -04:00
John Wiegley
1823a2b886 (parse_conversion): When defining a commodity conversion, always mark
the larger unit as having no market value (the market price is
determined by looking up the base commodity and then multiplying).
2008-04-13 02:41:06 -04:00
John Wiegley
675319a0b0 (value): Use `std::map<>::lower_bound' to search for the nearest price
item in a commodity's history list.  This is much more efficient than
doing a reverse linear search.
2008-04-13 02:41:06 -04:00
John Wiegley
0f98c9235f *** empty log message *** 2008-04-13 02:41:05 -04:00
John Wiegley
d83008166a (parse): A fix to the way commodity flags are applied to newly parsed
commodities.  This was needing for an edge-case involving commodities
that first appears as part of the cost (@ SPEC) of a transaction.
2008-04-13 02:41:05 -04:00
John Wiegley
1c7669671c Changes to support building with gcc 2.95. 2008-04-13 02:40:57 -04:00
John Wiegley
8f373c049c (AMOUNT_CMP_AMOUNT): Fixed a very serious error in basic amount math,
when lhs is zero.
2008-04-13 02:40:55 -04:00
John Wiegley
193a801c03 Added preliminary support for OFX, using libofx. Needs much
real-world testing.
2008-04-13 02:40:55 -04:00
John Wiegley
08e81c1858 (operator/): Added a more complete divide-by-zero check. 2008-04-13 02:40:52 -04:00
John Wiegley
3e61a94f76 Added commodity_t::default_commodity. Initialize the same. 2008-04-13 02:40:49 -04:00
John Wiegley
b4cdc528b4 *** empty log message *** 2008-04-13 02:40:48 -04:00
John Wiegley
1db60b12e2 updated to 2.02 2008-04-13 02:40:48 -04:00
John Wiegley
c9fb11bd60 updated to version 2.0 2008-04-13 02:40:47 -04:00
John Wiegley
a32173ace6 changes 2008-04-13 02:40:47 -04:00
John Wiegley
ba2c04072c fixed several segfaults (using new option-scrambler test harness) 2004-09-27 18:08:48 -04:00
John Wiegley
f8a62c444f made several of the buffers used non-static 2004-09-26 23:48:31 -04:00