aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Todd <pete@petertodd.org>2014-09-29 01:00:01 -0400
committerPeter Todd <pete@petertodd.org>2015-10-08 17:46:55 +0200
commit684636ba67c3eba145a0af8890ed9a7a15deb60a (patch)
tree0bc804a7ae8c7000328c40072f58e52748d6996e /src
parent71cc9d9fe829efd9c9b012c4cd1ece1d988b4869 (diff)
downloadbitcoin-684636ba67c3eba145a0af8890ed9a7a15deb60a.tar.xz
Make CScriptNum() take nMaxNumSize as an argument
While the existing numeric opcodes are all limited to 4-byte bignum arguments, new opcodes will need different limits. Rebased-From: 99088d60d8a7747c6d1a7fd5d8cd388be1b3e138
Diffstat (limited to 'src')
-rw-r--r--src/script/script.h7
-rw-r--r--src/test/scriptnum_tests.cpp2
2 files changed, 5 insertions, 4 deletions
diff --git a/src/script/script.h b/src/script/script.h
index d5045005be..4a673e5fe7 100644
--- a/src/script/script.h
+++ b/src/script/script.h
@@ -196,7 +196,10 @@ public:
m_value = n;
}
- explicit CScriptNum(const std::vector<unsigned char>& vch, bool fRequireMinimal)
+ static const size_t nDefaultMaxNumSize = 4;
+
+ explicit CScriptNum(const std::vector<unsigned char>& vch, bool fRequireMinimal,
+ const size_t nMaxNumSize = nDefaultMaxNumSize)
{
if (vch.size() > nMaxNumSize) {
throw scriptnum_error("script number overflow");
@@ -319,8 +322,6 @@ public:
return result;
}
- static const size_t nMaxNumSize = 4;
-
private:
static int64_t set_vch(const std::vector<unsigned char>& vch)
{
diff --git a/src/test/scriptnum_tests.cpp b/src/test/scriptnum_tests.cpp
index 24c7dd3d5a..d95724dbe1 100644
--- a/src/test/scriptnum_tests.cpp
+++ b/src/test/scriptnum_tests.cpp
@@ -145,7 +145,7 @@ static void RunCreate(const int64_t& num)
{
CheckCreateInt(num);
CScriptNum scriptnum(num);
- if (scriptnum.getvch().size() <= CScriptNum::nMaxNumSize)
+ if (scriptnum.getvch().size() <= CScriptNum::nDefaultMaxNumSize)
CheckCreateVch(num);
else
{