diff options
Diffstat (limited to 'src/script')
-rw-r--r-- | src/script/script.cpp | 33 | ||||
-rw-r--r-- | src/script/script.h | 30 |
2 files changed, 34 insertions, 29 deletions
diff --git a/src/script/script.cpp b/src/script/script.cpp index a5126e7cc2..1ce8ddb6df 100644 --- a/src/script/script.cpp +++ b/src/script/script.cpp @@ -7,6 +7,16 @@ #include <boost/foreach.hpp> +namespace { +inline std::string ValueString(const std::vector<unsigned char>& vch) +{ + if (vch.size() <= 4) + return strprintf("%d", CScriptNum(vch).getint()); + else + return HexStr(vch); +} +} // anon namespace + using namespace std; const char* GetOpName(opcodetype opcode) @@ -253,3 +263,26 @@ bool CScript::HasCanonicalPushes() const } return true; } + +std::string CScript::ToString() const +{ + std::string str; + opcodetype opcode; + std::vector<unsigned char> vch; + const_iterator pc = begin(); + while (pc < end()) + { + if (!str.empty()) + str += " "; + if (!GetOp(pc, opcode, vch)) + { + str += "[error]"; + return str; + } + if (0 <= opcode && opcode <= OP_PUSHDATA4) + str += ValueString(vch); + else + str += GetOpName(opcode); + } + return str; +} diff --git a/src/script/script.h b/src/script/script.h index 6676e852ae..4f6ee0c521 100644 --- a/src/script/script.h +++ b/src/script/script.h @@ -318,13 +318,6 @@ private: int64_t m_value; }; -inline std::string ValueString(const std::vector<unsigned char>& vch) -{ - if (vch.size() <= 4) - return strprintf("%d", CScriptNum(vch).getint()); - else - return HexStr(vch); -} /** Serialized script, used inside transaction inputs and outputs */ class CScript : public std::vector<unsigned char> @@ -571,28 +564,7 @@ public: return (size() > 0 && *begin() == OP_RETURN); } - std::string ToString() const - { - std::string str; - opcodetype opcode; - std::vector<unsigned char> vch; - const_iterator pc = begin(); - while (pc < end()) - { - if (!str.empty()) - str += " "; - if (!GetOp(pc, opcode, vch)) - { - str += "[error]"; - return str; - } - if (0 <= opcode && opcode <= OP_PUSHDATA4) - str += ValueString(vch); - else - str += GetOpName(opcode); - } - return str; - } + std::string ToString() const; void clear() { // The default std::vector::clear() does not release memory. |