Skip to content

Commit fa86223

Browse files
author
MarcoFalke
committed
refactor: Avoid passing span iterators when data pointers are expected
For Span, iterators are just raw data pointers. However, for std::span they are not. This change makes it explicit where data pointers are expected. Otherwise, there could be a compile error later on: No known conversion from 'iterator' (aka '__normal_iterator<const std::byte *, std::span<const std::byte, 18446744073709551615>>') to 'std::byte *'.
1 parent faae6fa commit fa86223

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/script/miniscript.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1798,7 +1798,7 @@ inline NodeRef<Key> Parse(Span<const char> in, const Ctx& ctx)
17981798
// Get threshold
17991799
int next_comma = FindNextChar(in, ',');
18001800
if (next_comma < 1) return false;
1801-
const auto k_to_integral{ToIntegral<int64_t>(std::string_view(in.begin(), next_comma))};
1801+
const auto k_to_integral{ToIntegral<int64_t>(std::string_view(in.data(), next_comma))};
18021802
if (!k_to_integral.has_value()) return false;
18031803
const int64_t k{k_to_integral.value()};
18041804
in = in.subspan(next_comma + 1);
@@ -1954,15 +1954,15 @@ inline NodeRef<Key> Parse(Span<const char> in, const Ctx& ctx)
19541954
} else if (Const("after(", in)) {
19551955
int arg_size = FindNextChar(in, ')');
19561956
if (arg_size < 1) return {};
1957-
const auto num{ToIntegral<int64_t>(std::string_view(in.begin(), arg_size))};
1957+
const auto num{ToIntegral<int64_t>(std::string_view(in.data(), arg_size))};
19581958
if (!num.has_value() || *num < 1 || *num >= 0x80000000L) return {};
19591959
constructed.push_back(MakeNodeRef<Key>(internal::NoDupCheck{}, ctx.MsContext(), Fragment::AFTER, *num));
19601960
in = in.subspan(arg_size + 1);
19611961
script_size += 1 + (*num > 16) + (*num > 0x7f) + (*num > 0x7fff) + (*num > 0x7fffff);
19621962
} else if (Const("older(", in)) {
19631963
int arg_size = FindNextChar(in, ')');
19641964
if (arg_size < 1) return {};
1965-
const auto num{ToIntegral<int64_t>(std::string_view(in.begin(), arg_size))};
1965+
const auto num{ToIntegral<int64_t>(std::string_view(in.data(), arg_size))};
19661966
if (!num.has_value() || *num < 1 || *num >= 0x80000000L) return {};
19671967
constructed.push_back(MakeNodeRef<Key>(internal::NoDupCheck{}, ctx.MsContext(), Fragment::OLDER, *num));
19681968
in = in.subspan(arg_size + 1);
@@ -1974,7 +1974,7 @@ inline NodeRef<Key> Parse(Span<const char> in, const Ctx& ctx)
19741974
} else if (Const("thresh(", in)) {
19751975
int next_comma = FindNextChar(in, ',');
19761976
if (next_comma < 1) return {};
1977-
const auto k{ToIntegral<int64_t>(std::string_view(in.begin(), next_comma))};
1977+
const auto k{ToIntegral<int64_t>(std::string_view(in.data(), next_comma))};
19781978
if (!k.has_value() || *k < 1) return {};
19791979
in = in.subspan(next_comma + 1);
19801980
// n = 1 here because we read the first WRAPPED_EXPR before reaching THRESH

src/streams.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ class VectorWriter
7979
memcpy(vchData.data() + nPos, src.data(), nOverwrite);
8080
}
8181
if (nOverwrite < src.size()) {
82-
vchData.insert(vchData.end(), UCharCast(src.data()) + nOverwrite, UCharCast(src.end()));
82+
vchData.insert(vchData.end(), UCharCast(src.data()) + nOverwrite, UCharCast(src.data() + src.size()));
8383
}
8484
nPos += src.size();
8585
}

0 commit comments

Comments
 (0)