IO::SeekOffset offset = in.tell();
bool raw = false;
DataFile::Parser parser(in, "-");
- while(!raw && !in.eof() && in.tell()<10240)
+ while(!raw && parser && in.tell()<10240)
{
try
{
DataFile::Statement st = parser.parse(true);
if(st.valid)
{
- bool sys = !st.keyword.compare(0, 2, "__");
- if(collection && !sys)
+ if(collection && !st.control)
{
if(st.get_signature()=="s")
{
else
collection = false;
}
- if(!sys || st.keyword=="__src")
+ if(!st.control || st.keyword=="__src")
writer->write(st);
}
}