Skip to content

Commit 7200505

Browse files
committed
refactor: stop using ostringstream to construct filter strings
1 parent 1c4f441 commit 7200505

File tree

1 file changed

+24
-29
lines changed

1 file changed

+24
-29
lines changed

src/rpc/masternode.cpp

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -570,43 +570,38 @@ static RPCHelpMan masternodelist_helper(bool is_composite)
570570
strOutpoint.find(strFilter) == std::string::npos) return;
571571
obj.pushKV(strOutpoint, strAddress);
572572
} else if (strMode == "full") {
573-
std::ostringstream streamFull;
574-
streamFull << std::setw(18) <<
575-
dmnToStatus(dmn) << " " <<
576-
dmn.pdmnState->nPoSePenalty << " " <<
577-
payeeStr << " " << std::setw(10) <<
578-
dmnToLastPaidTime(dmn) << " " << std::setw(6) <<
579-
dmn.pdmnState->nLastPaidHeight << " " <<
580-
dmn.pdmnState->addr.ToStringAddrPort();
581-
std::string strFull = streamFull.str();
573+
std::string strFull = strprintf("%s %d %s %s %s %s",
574+
PadString(dmnToStatus(dmn), 18),
575+
dmn.pdmnState->nPoSePenalty,
576+
payeeStr,
577+
PadString(ToString(dmnToLastPaidTime(dmn)), 10),
578+
PadString(ToString(dmn.pdmnState->nLastPaidHeight), 6),
579+
dmn.pdmnState->addr.ToStringAddrPort());
582580
if (strFilter !="" && strFull.find(strFilter) == std::string::npos &&
583581
strOutpoint.find(strFilter) == std::string::npos) return;
584582
obj.pushKV(strOutpoint, strFull);
585583
} else if (strMode == "info") {
586-
std::ostringstream streamInfo;
587-
streamInfo << std::setw(18) <<
588-
dmnToStatus(dmn) << " " <<
589-
dmn.pdmnState->nPoSePenalty << " " <<
590-
payeeStr << " " <<
591-
dmn.pdmnState->addr.ToStringAddrPort();
592-
std::string strInfo = streamInfo.str();
584+
std::string strInfo = strprintf("%s %d %s %s",
585+
PadString(dmnToStatus(dmn), 18),
586+
dmn.pdmnState->nPoSePenalty,
587+
payeeStr,
588+
dmn.pdmnState->addr.ToStringAddrPort());
593589
if (strFilter !="" && strInfo.find(strFilter) == std::string::npos &&
594590
strOutpoint.find(strFilter) == std::string::npos) return;
595591
obj.pushKV(strOutpoint, strInfo);
596592
} else if (strMode == "json" || strMode == "recent" || strMode == "evo") {
597-
std::ostringstream streamInfo;
598-
streamInfo << dmn.proTxHash.ToString() << " " <<
599-
dmn.pdmnState->addr.ToStringAddrPort() << " " <<
600-
payeeStr << " " <<
601-
dmnToStatus(dmn) << " " <<
602-
dmn.pdmnState->nPoSePenalty << " " <<
603-
dmnToLastPaidTime(dmn) << " " <<
604-
dmn.pdmnState->nLastPaidHeight << " " <<
605-
EncodeDestination(PKHash(dmn.pdmnState->keyIDOwner)) << " " <<
606-
EncodeDestination(PKHash(dmn.pdmnState->keyIDVoting)) << " " <<
607-
collateralAddressStr << " " <<
608-
dmn.pdmnState->pubKeyOperator.ToString();
609-
std::string strInfo = streamInfo.str();
593+
std::string strInfo = strprintf("%s %s %s %s %d %d %d %s %s %s %s",
594+
dmn.proTxHash.ToString(),
595+
dmn.pdmnState->addr.ToStringAddrPort(),
596+
payeeStr,
597+
dmnToStatus(dmn),
598+
dmn.pdmnState->nPoSePenalty,
599+
dmnToLastPaidTime(dmn),
600+
dmn.pdmnState->nLastPaidHeight,
601+
EncodeDestination(PKHash(dmn.pdmnState->keyIDOwner)),
602+
EncodeDestination(PKHash(dmn.pdmnState->keyIDVoting)),
603+
collateralAddressStr,
604+
dmn.pdmnState->pubKeyOperator.ToString());
610605
if (strFilter !="" && strInfo.find(strFilter) == std::string::npos &&
611606
strOutpoint.find(strFilter) == std::string::npos) return;
612607
UniValue objMN(UniValue::VOBJ);

0 commit comments

Comments
 (0)