diff options
Diffstat (limited to 'src/amount.cc')
-rw-r--r-- | src/amount.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/amount.cc b/src/amount.cc index 7c9a6931..9dea532c 100644 --- a/src/amount.cc +++ b/src/amount.cc @@ -343,8 +343,8 @@ amount_t& amount_t::operator*=(const amount_t& amt) _dup(); mpq_mul(MP(quantity), MP(quantity), MP(amt.quantity)); - quantity->prec = static_cast<precision_t>(quantity->prec + - amt.quantity->prec); + quantity->prec = + static_cast<precision_t>(quantity->prec + amt.quantity->prec); if (! has_commodity()) commodity_ = amt.commodity_; @@ -382,7 +382,7 @@ amount_t& amount_t::operator/=(const amount_t& amt) mpq_div(MP(quantity), MP(quantity), MP(amt.quantity)); quantity->prec = static_cast<precision_t>(quantity->prec + amt.quantity->prec + - quantity->prec + extend_by_digits); + extend_by_digits); if (! has_commodity()) commodity_ = amt.commodity_; @@ -740,7 +740,7 @@ void amount_t::annotate(const annotation_t& details) if (! quantity) throw_(amount_error, _("Cannot annotate the commodity of an uninitialized amount")); else if (! has_commodity()) - throw_(amount_error, _("Cannot annotate an amount with no commodity")); + return; // ignore attempt to annotate a "bare commodity if (commodity().annotated) { this_ann = &as_annotated_commodity(commodity()); @@ -1062,8 +1062,10 @@ void amount_t::print(std::ostream& _out) const bool amount_t::valid() const { if (quantity) { - if (! quantity->valid()) + if (! quantity->valid()) { + DEBUG("ledger.validate", "amount_t: ! quantity->valid()"); return false; + } if (quantity->ref == 0) { DEBUG("ledger.validate", "amount_t: quantity->ref == 0"); |