in = nullptr;
}
+void RawData::write_io(IO::Base &io, bool compress)
+{
+ if(!data)
+ throw logic_error("no data");
+
+ io.write(signature, sizeof(signature));
+
+ for(unsigned i=56; i<64; i-=8)
+ io.put((size>>i)&0xFF);
+
+ uint16_t flags = 0;
+ if(compress)
+ flags |= COMPRESSED;
+ io.put((flags>>8)&0xFF);
+ io.put(flags&0xFF);
+
+ if(compress)
+ {
+ IO::ZlibCompressed z(io, IO::M_WRITE);
+ z.write(data, size);
+ }
+ else
+ io.write(data, size);
+}
+
} // namespace DataFile
} // namespace Msp