Reserving needed amount of memory before copying.

This commit is contained in:
Robert Loehning
2010-03-08 20:20:28 +01:00
parent bec01778d9
commit 09807e7391

View File

@@ -230,6 +230,7 @@ QByteArray BinEditor::dataMid(int from, int length) const
int block = from / m_blockSize; int block = from / m_blockSize;
QByteArray data; QByteArray data;
data.reserve(length);
do { do {
data += blockData(block++); data += blockData(block++);
} while (block * m_blockSize < end); } while (block * m_blockSize < end);
@@ -1138,6 +1139,7 @@ void BinEditor::copy(bool raw)
} }
QString hexString; QString hexString;
const char * const hex = "0123456789abcdef"; const char * const hex = "0123456789abcdef";
hexString.reserve(3 * data.size());
for (int i = 0; i < data.size(); ++i) { for (int i = 0; i < data.size(); ++i) {
const uchar val = static_cast<uchar>(data[i]); const uchar val = static_cast<uchar>(data[i]);
hexString.append(hex[val >> 4]).append(hex[val & 0xf]).append(' '); hexString.append(hex[val >> 4]).append(hex[val & 0xf]).append(' ');