From 3189ca5efc5826405bf2e9c7d9949ad5ea9a8a10 Mon Sep 17 00:00:00 2001 From: Treeki Date: Wed, 12 Sep 2012 14:57:44 +0200 Subject: initial un-exporter version --- wii/common.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'wii/common.cpp') diff --git a/wii/common.cpp b/wii/common.cpp index 8f552b3..4ea59a0 100644 --- a/wii/common.cpp +++ b/wii/common.cpp @@ -131,4 +131,27 @@ void WriteFixedLengthASCII(QDataStream &out, const QString str, int length) { out.writeRawData(paddedStr.constData(), paddedStr.length()); } +QString ReadVariableLengthASCII(QDataStream &in) { + qint64 savedPos = in.device()->pos(); + int stringLength = 0; + char check; + + in >> (quint8&)check; + while (check != 0) { + stringLength += 1; + in >> (quint8&)check; + } + + // now read the string + char *buffer = new char[stringLength]; + + in.device()->seek(savedPos); + in.readRawData(buffer, stringLength); + + QString output = QString::fromAscii(buffer, stringLength); + + delete[] buffer; + + return output; +} -- cgit v1.2.3