diff options
-rw-r--r-- | amount.cc | 6 | ||||
-rw-r--r-- | balance.cc | 15 |
2 files changed, 5 insertions, 16 deletions
@@ -810,7 +810,7 @@ std::ostream& operator<<(std::ostream& _out, const amount_t& amt) } if (precision) { - out << ((comm.flags() & COMMODITY_STYLE_EUROPEAN) ? ',' : '.'); + out << ((comm.flags & COMMODITY_STYLE_EUROPEAN) ? ',' : '.'); std::ostringstream final; final.width(precision); @@ -828,8 +828,8 @@ std::ostream& operator<<(std::ostream& _out, const amount_t& amt) if (i == len) out << str; - else if (i < comm.precision()) - out << std::string(str, 0, comm.precision()); + else if (i < comm.precision) + out << std::string(str, 0, comm.precision); else out << std::string(str, 0, i); } @@ -87,10 +87,7 @@ void balance_t::write(std::ostream& out, balance_t& balance_t::operator*=(const balance_t& bal) { - if (! *this || ! bal) { - return (*this = 0L); - } - else if (amounts.size() == 1 && bal.amounts.size() == 1) { + if (amounts.size() == 1 && bal.amounts.size() == 1) { return *this *= (*bal.amounts.begin()).second; } else { @@ -103,15 +100,7 @@ balance_t& balance_t::operator*=(const balance_t& bal) balance_t& balance_t::operator/=(const balance_t& bal) { - if (! *this) { - return (*this = 0L); - } - else if (! bal) { - std::ostringstream errmsg; - errmsg << "Attempt to divide by zero: " << *this << " / " << bal; - throw amount_error(errmsg.str()); - } - else if (amounts.size() == 1 && bal.amounts.size() == 1) { + if (amounts.size() == 1 && bal.amounts.size() == 1) { return *this /= (*bal.amounts.begin()).second; } else if (*this == bal) { |