Changeset View
Changeset View
Standalone View
Standalone View
src/script/interpreter.cpp
Show First 20 Lines • Show All 1,229 Lines • ▼ Show 20 Lines | |||||
valtype n1(data.begin(), data.begin() + position); | valtype n1(data.begin(), data.begin() + position); | ||||
valtype n2(data.begin() + position, data.end()); | valtype n2(data.begin() + position, data.end()); | ||||
// Replace existing stack values by the new values. | // Replace existing stack values by the new values. | ||||
stacktop(-2) = std::move(n1); | stacktop(-2) = std::move(n1); | ||||
stacktop(-1) = std::move(n2); | stacktop(-1) = std::move(n2); | ||||
} break; | } break; | ||||
case OP_REVERSEBYTES: { | |||||
if (!(flags & SCRIPT_ENABLE_OP_REVERSEBYTES)) { | |||||
return set_error(serror, ScriptError::BAD_OPCODE); | |||||
} | |||||
// (in -- out) | |||||
if (stack.size() < 1) { | |||||
return set_error( | |||||
serror, ScriptError::INVALID_STACK_OPERATION); | |||||
} | |||||
valtype &data = stacktop(-1); | |||||
std::reverse(data.begin(), data.end()); | |||||
} break; | |||||
// | // | ||||
// Conversion operations | // Conversion operations | ||||
// | // | ||||
case OP_NUM2BIN: { | case OP_NUM2BIN: { | ||||
// (in size -- out) | // (in size -- out) | ||||
if (stack.size() < 2) { | if (stack.size() < 2) { | ||||
return set_error( | return set_error( | ||||
serror, ScriptError::INVALID_STACK_OPERATION); | serror, ScriptError::INVALID_STACK_OPERATION); | ||||
▲ Show 20 Lines • Show All 564 Lines • Show Last 20 Lines |