Make QRingBuffer::ungetChar() not leave empty array in buffer list

Change-Id: Ic692693132f0c316ad068cad5423ca8fd32bd40d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
bb10
Alex Trotsenko 2014-10-13 11:14:16 +03:00
parent 29e679bed9
commit 350ab22885
1 changed files with 6 additions and 2 deletions

View File

@ -175,10 +175,14 @@ public:
inline void ungetChar(char c) {
--head;
if (head < 0) {
buffers.prepend(QByteArray());
if (bufferSize != 0) {
buffers.prepend(QByteArray());
++tailBuffer;
} else {
tail = basicBlockSize;
}
buffers.first().resize(basicBlockSize);
head = basicBlockSize - 1;
++tailBuffer;
}
buffers.first()[head] = c;
++bufferSize;