Browse Source

Display ascii char in return value.

cl-refactor
yann300 10 years ago
parent
commit
7274ac7352
  1. 21
      mix/ContractCallDataEncoder.cpp
  2. 1
      mix/ContractCallDataEncoder.h

21
mix/ContractCallDataEncoder.cpp

@ -159,7 +159,11 @@ dev::bytes ContractCallDataEncoder::decodeBytes(dev::bytes const& _rawValue)
QString ContractCallDataEncoder::toString(dev::bytes const& _b)
{
return QString::fromStdString(dev::toJS(_b));
QString str;
if (isString(_b, str))
return "- " + str + " - " + QString::fromStdString(dev::toJS(_b));
else
return QString::fromStdString(dev::toJS(_b));
}
@ -197,3 +201,18 @@ QStringList ContractCallDataEncoder::decode(QList<QVariableDeclaration*> const&
}
return r;
}
bool ContractCallDataEncoder::isString(dev::bytes const& _b, QString& _str)
{
dev::bytes bunPad = unpadded(_b);
for (unsigned i = 0; i < bunPad.size(); i++)
{
u256 value(bunPad.at(i));
if (value > 127)
return false;
else
_str += QString::fromStdString(dev::toJS(bunPad.at(i))).replace("0x", "");
}
return true;
}

1
mix/ContractCallDataEncoder.h

@ -66,6 +66,7 @@ private:
dev::bytes encodeBytes(QString const& _str);
dev::bytes decodeBytes(dev::bytes const& _rawValue);
QString toString(dev::bytes const& _b);
bool isString(dev::bytes const& _b, QString& _str);
private:
bytes m_encodedData;

Loading…
Cancel
Save