QByteArray block;
QDataStream out(&block, QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_2);
-
+ out << (quint32)0;
+
if(compressed) {
QByteArray rawItem;
QDataStream itemStream(&rawItem, QIODevice::WriteOnly);
rawItem = qCompress(rawItem);
- out << (quint32)rawItem.size() << rawItem;
+ out << rawItem;
} else {
- out << (quint32)0 << item;
- out.device()->seek(0);
- out << (quint32)(block.size() - sizeof(quint32));
+ out << item;
}
+ out.device()->seek(0);
+ out << (quint32)(block.size() - sizeof(quint32));
+
dev->write(block);
}
QByteArray rawItem;
in >> rawItem;
rawItem = qUncompress(rawItem);
-
+
QDataStream itemStream(&rawItem, QIODevice::ReadOnly);
itemStream.setVersion(QDataStream::Qt_4_2);
itemStream >> item;