From 5f28af66ca64f07c14672e8862987a75cb240804 Mon Sep 17 00:00:00 2001 From: Arthur Britto Date: Wed, 10 Oct 2012 20:12:18 -0700 Subject: [PATCH] Fix error checking in RippleCalc. --- src/RippleCalc.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/RippleCalc.cpp b/src/RippleCalc.cpp index f8b8d5eee..58673dd58 100644 --- a/src/RippleCalc.cpp +++ b/src/RippleCalc.cpp @@ -861,18 +861,19 @@ TER RippleCalc::calcNodeAccountRev(const unsigned int uIndex, const PathState::p const STAmount& saCurDeliverReq = pnCur.saRevDeliver; STAmount saCurDeliverAct(saCurDeliverReq.getCurrency(), saCurDeliverReq.getIssuer()); - cLog(lsINFO) << boost::str(boost::format("calcNodeAccountRev: saPrvRedeemReq=%s saPrvIssueReq=%s saCurRedeemReq=%s saNxtOwed=%s") + cLog(lsINFO) << boost::str(boost::format("calcNodeAccountRev: saPrvRedeemReq=%s saPrvIssueReq=%s saCurRedeemReq=%s saCurIssueReq=%s saNxtOwed=%s") % saPrvRedeemReq.getFullText() % saPrvIssueReq.getFullText() % saCurRedeemReq.getFullText() + % saCurIssueReq.getFullText() % saNxtOwed.getFullText()); cLog(lsINFO) << pspCur->getJson(); assert(!saCurRedeemReq || (-saNxtOwed) >= saCurRedeemReq); // Current redeem req can't be more than IOUs on hand. assert(!saCurIssueReq // If not issuing, fine. - || !saNxtOwed.isNegative() // Not hold next IOUs: owed is >= 0 - || saNxtOwed == saCurRedeemReq); // If issue req, then redeem req must consume all owed. + || !saNxtOwed.isNegative() // saNxtOwed >= 0: Sender not holding next IOUs, saNxtOwed < 0: Sender holding next IOUs. + || -saNxtOwed == saCurRedeemReq); // If issue req, then redeem req must consume all owed. if (bPrvAccount && bNxtAccount) {