forked from boostorg/beast
Fix ostream flush:
fix #1853, close #1859, close #1866 After calling the DynamicBuffer commit() function the buffer returned from prepare() can be invalidated but the ostream kept using it.
This commit is contained in:
1 parent
fc01de736f
commit
75da7a522e
3 files changed
+28
No files matched your search
@@ -66,6 +66,31 @@ public:
|
||||
fail("wrong exception", __FILE__, __LINE__);
|
||||
}
|
||||
}
|
||||
|
||||
// flush
|
||||
{
|
||||
// Issue #1853
|
||||
flat_static_buffer<16> b;
|
||||
auto half_view = string_view(s.data(), 8);
|
||||
{
|
||||
auto os = ostream(b);
|
||||
os << half_view;
|
||||
os.flush();
|
||||
}
|
||||
BEAST_EXPECT(buffers_to_string(b.data()) == half_view);
|
||||
}
|
||||
|
||||
{
|
||||
flat_static_buffer<16> b;
|
||||
{
|
||||
auto os = ostream(b);
|
||||
os << string_view(s.data(), 8);
|
||||
os.flush();
|
||||
os << string_view(s.data() + 8, 8);
|
||||
os.flush();
|
||||
}
|
||||
BEAST_EXPECT(buffers_to_string(b.data()) == s);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in new issue
Block a user