MCPcopy Create free account
hub / github.com/Samsung/rlottie / resize_buffer_if_needed

Method resize_buffer_if_needed

src/vector/vdebug.cpp:278–296  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

276}
277
278void VDebug::resize_buffer_if_needed(size_t additional_bytes)
279{
280 size_t const required_size = m_bytes_used + additional_bytes;
281
282 if (required_size <= m_buffer_size) return;
283
284 if (!m_heap_buffer) {
285 m_buffer_size = std::max(static_cast<size_t>(512), required_size);
286 m_heap_buffer = std::make_unique<char[]>(m_buffer_size);
287 memcpy(m_heap_buffer.get(), m_stack_buffer, m_bytes_used);
288 return;
289 } else {
290 m_buffer_size =
291 std::max(static_cast<size_t>(2 * m_buffer_size), required_size);
292 std::unique_ptr<char[]> new_heap_buffer(new char[m_buffer_size]);
293 memcpy(new_heap_buffer.get(), m_heap_buffer.get(), m_bytes_used);
294 m_heap_buffer.swap(new_heap_buffer);
295 }
296}
297
298void VDebug::encode(char const* arg)
299{

Callers

nothing calls this directly

Calls 2

getMethod · 0.80
swapMethod · 0.45

Tested by

no test coverage detected