diff options
author | John Wiegley <johnw@newartisans.com> | 2006-03-01 04:46:21 +0000 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2008-04-13 02:41:28 -0400 |
commit | 68813448cbac88cff9c7f60021a0e255e2445375 (patch) | |
tree | e93f9b57f9ec578ea99b9ac2b8de0f55e7a6ef96 /textual.cc | |
parent | 72a5f48d9d8ca6db9e3cb8069272d8cb4834a6c9 (diff) | |
download | fork-ledger-68813448cbac88cff9c7f60021a0e255e2445375.tar.gz fork-ledger-68813448cbac88cff9c7f60021a0e255e2445375.tar.bz2 fork-ledger-68813448cbac88cff9c7f60021a0e255e2445375.zip |
Added support for unlimited factoids.
Diffstat (limited to 'textual.cc')
-rw-r--r-- | textual.cc | 10 |
1 files changed, 3 insertions, 7 deletions
@@ -650,8 +650,7 @@ unsigned int textual_parser_t::parse(std::istream& in, #endif // TIMELOG_SUPPORT case 'D': { // a default commodity for "entry" - amount_t amt; - amt.parse(skip_ws(line + 1)); + amount_t amt(skip_ws(line + 1)); commodity_t::default_commodity = &amt.commodity(); break; } @@ -669,8 +668,6 @@ unsigned int textual_parser_t::parse(std::istream& in, break; case 'P': { // a pricing entry - std::time_t date; - char * date_field = skip_ws(line + 1); char * time_field = next_element(date_field); if (! time_field) break; @@ -682,6 +679,7 @@ unsigned int textual_parser_t::parse(std::istream& in, date_buffer[std::strlen(date_field)] = ' '; std::strcpy(&date_buffer[std::strlen(date_field) + 1], time_field); + std::time_t date; struct std::tm when; if (strptime(date_buffer, "%Y/%m/%d %H:%M:%S", &when)) { date = std::mktime(&when); @@ -690,10 +688,8 @@ unsigned int textual_parser_t::parse(std::istream& in, } std::string symbol; - amount_t price; - parse_symbol(symbol_and_price, symbol); - price.parse(symbol_and_price); + amount_t price(symbol_and_price); commodity_t * commodity = commodity_t::find_commodity(symbol, true); commodity->add_price(date, price); |