diff options
author | John Wiegley <johnw@newartisans.com> | 2006-03-28 05:24:02 +0000 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2008-04-13 02:41:32 -0400 |
commit | 5a93d4819e5fc753352618b729e0fe45532166b9 (patch) | |
tree | 200220bfcc5642a9efd8847001aeac889ed79e7d /value.cc | |
parent | c3c401ac0f43dfb3f71b818b45ef47578e6d390b (diff) | |
download | ledger-5a93d4819e5fc753352618b729e0fe45532166b9.tar.gz ledger-5a93d4819e5fc753352618b729e0fe45532166b9.tar.bz2 ledger-5a93d4819e5fc753352618b729e0fe45532166b9.zip |
Reworked the way date/times are handled.
Diffstat (limited to 'value.cc')
-rw-r--r-- | value.cc | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -836,7 +836,7 @@ value_t::operator double() const case INTEGER: return *((long *) data); case DATETIME: - return *((datetime_t *) data); + throw new value_error("Cannot convert a date/time to a double"); case AMOUNT: return *((amount_t *) data); case BALANCE: @@ -1111,7 +1111,7 @@ void value_t::abs() } } -value_t value_t::value(const std::time_t moment) const +value_t value_t::value(const datetime_t& moment) const { switch (type) { case BOOLEAN: @@ -1225,18 +1225,18 @@ value_t value_t::date() const case BOOLEAN: throw new value_error("Cannot find the date of a boolean"); case INTEGER: - return 0L; + return datetime_t(); case DATETIME: return *this; case AMOUNT: - return ((amount_t *) data)->date(); + return datetime_t(((amount_t *) data)->date()); case BALANCE: - return (long)((balance_t *) data)->date(); + return datetime_t(((balance_t *) data)->date()); case BALANCE_PAIR: - return (long)((balance_pair_t *) data)->quantity.date(); + return datetime_t(((balance_pair_t *) data)->quantity.date()); default: assert(0); |