diff options
author | John Wiegley <johnw@newartisans.com> | 2004-08-25 21:02:07 -0400 |
---|---|---|
committer | John Wiegley <johnw@newartisans.com> | 2004-08-25 21:02:07 -0400 |
commit | ac000a67c4e9c75e11e43018e5f16242b4d99226 (patch) | |
tree | c4cf1695cfe394d35c09f7e569eee5e4de00114b /balance.h | |
parent | ab86cd8c3743ba5ae5c2ef2f7e20c51b870bb7e5 (diff) | |
download | fork-ledger-ac000a67c4e9c75e11e43018e5f16242b4d99226.tar.gz fork-ledger-ac000a67c4e9c75e11e43018e5f16242b4d99226.tar.bz2 fork-ledger-ac000a67c4e9c75e11e43018e5f16242b4d99226.zip |
fixed two memory corruption bugs
Diffstat (limited to 'balance.h')
-rw-r--r-- | balance.h | 15 |
1 files changed, 11 insertions, 4 deletions
@@ -39,19 +39,26 @@ class balance_t } balance_t(const amount_t& amt) { DEBUG_PRINT("ledger.memory.ctors", "ctor balance_t"); - *this += amt; + if (amt) + amounts.insert(amounts_pair(amt.commodity, amt)); } balance_t(const int value) { DEBUG_PRINT("ledger.memory.ctors", "ctor balance_t"); - *this += amount_t(value); + amount_t amt(value); + if (amt) + amounts.insert(amounts_pair(amt.commodity, amt)); } balance_t(const unsigned int value) { DEBUG_PRINT("ledger.memory.ctors", "ctor balance_t"); - *this += amount_t(value); + amount_t amt(value); + if (amt) + amounts.insert(amounts_pair(amt.commodity, amt)); } balance_t(const double value) { DEBUG_PRINT("ledger.memory.ctors", "ctor balance_t"); - *this += amount_t(value); + amount_t amt(value); + if (amt) + amounts.insert(amounts_pair(amt.commodity, amt)); } // destructor |