summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--amount.cc6
-rw-r--r--balance.cc15
2 files changed, 5 insertions, 16 deletions
diff --git a/amount.cc b/amount.cc
index 5de0264c..a2735d37 100644
--- a/amount.cc
+++ b/amount.cc
@@ -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);
}
diff --git a/balance.cc b/balance.cc
index 8ca49ea0..7337dda8 100644
--- a/balance.cc
+++ b/balance.cc
@@ -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) {