diff --git a/include/bitcoin/system/impl/machine/number.ipp b/include/bitcoin/system/impl/machine/number.ipp index 8f07106f00..2188396655 100644 --- a/include/bitcoin/system/impl/machine/number.ipp +++ b/include/bitcoin/system/impl/machine/number.ipp @@ -114,7 +114,9 @@ is_overflow(int64_t value) NOEXCEPT inline data_chunk chunk::from_bool(bool vary) NOEXCEPT { - return { bc::to_int(vary) }; + static const data_chunk true_{ 1 }; + static const data_chunk false_{}; + return vary ? true_ : false_; } inline data_chunk chunk::from_integer(int64_t vary) NOEXCEPT diff --git a/test/chain/script.hpp b/test/chain/script.hpp index 3a8c506f76..c985f8e575 100644 --- a/test/chain/script.hpp +++ b/test/chain/script.hpp @@ -521,7 +521,8 @@ const script_test_list valid_context_free_scripts { "nop", "nop10 1", "" }, { "[42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242]", "[2.42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242] equal", "basic push signedness check" }, { "[1.42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242]", "[2.42424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242] equal", "basic pushdata1 signedness check" }, - { "0x00", "size 0 equal", "basic op_0 execution" } + { "0x00", "size 0 equal", "basic op_0 execution" }, + { "", "0 1 equal size 0 equal", "boolean encoding" } }}; // These are always invalid.