if (compressed) {
data = (char*) lzwDecode((uint8_t*) data, compressedSize, compressedSizeBits, uncompressedSize);
+ root = interpreter->run(data, data + uncompressedSize);
+ delete(data);
+ } else {
+ root = interpreter->run(data, this->data + size);
}
- root = interpreter->run(data, data + uncompressedSize);
-
- if (compressed) delete(data);
-
if (!root) clear();
}
//3. View Size
writeData(vsize, SIZE(vsize));
+ ptr += SIZE(vsize);
//4. Reserved data + Compress size
- buffer.count += TVG_HEADER_RESERVED_LENGTH + TVG_HEADER_COMPRESS_SIZE;
+ memset(ptr, 0x00, TVG_HEADER_RESERVED_LENGTH + TVG_HEADER_COMPRESS_SIZE);
+ buffer.count += (TVG_HEADER_RESERVED_LENGTH + TVG_HEADER_COMPRESS_SIZE);
return true;
}