|
758 |
uint32_t tmpsize = std::min (m_zeroAreaStart-m_start, size); |
758 |
uint32_t tmpsize = std::min (m_zeroAreaStart-m_start, size); |
759 |
memcpy (buffer, (const char*)(m_data->m_data + m_start), tmpsize); |
759 |
memcpy (buffer, (const char*)(m_data->m_data + m_start), tmpsize); |
760 |
buffer += tmpsize; |
760 |
buffer += tmpsize; |
761 |
if (size > tmpsize) |
761 |
size -= tmpsize; |
|
|
762 |
if (size > 0) |
762 |
{ |
763 |
{ |
763 |
size -= m_zeroAreaStart-m_start; |
|
|
764 |
tmpsize = std::min (m_zeroAreaEnd - m_zeroAreaStart, size); |
764 |
tmpsize = std::min (m_zeroAreaEnd - m_zeroAreaStart, size); |
765 |
uint32_t left = tmpsize; |
765 |
uint32_t left = tmpsize; |
766 |
while (left > 0) |
766 |
while (left > 0) |
|
770 |
left -= toWrite; |
770 |
left -= toWrite; |
771 |
buffer += toWrite; |
771 |
buffer += toWrite; |
772 |
} |
772 |
} |
773 |
if (size > tmpsize) |
773 |
size -= tmpsize; |
|
|
774 |
if (size > 0) |
774 |
{ |
775 |
{ |
775 |
size -= tmpsize; |
|
|
776 |
tmpsize = std::min (m_end - m_zeroAreaEnd, size); |
776 |
tmpsize = std::min (m_end - m_zeroAreaEnd, size); |
777 |
memcpy (buffer, (const char*)(m_data->m_data + m_zeroAreaStart), tmpsize); |
777 |
memcpy (buffer, (const char*)(m_data->m_data + m_zeroAreaStart), tmpsize); |
|
|
778 |
size -= tmpsize; |
778 |
} |
779 |
} |
779 |
} |
780 |
} |
780 |
} |
781 |
} |