Fixed a bug with reading first metadata through parseNext.

This commit is contained in:
Erik Zandvliet 2013-09-23 11:02:51 +02:00
parent d77ce7d9e8
commit 92f86e0a9c

View file

@ -843,8 +843,27 @@ void DTSC::File::parseNext(){
return; return;
} }
if (memcmp(buffer, DTSC::Magic_Header, 4) == 0){ if (memcmp(buffer, DTSC::Magic_Header, 4) == 0){
readHeader(lastreadpos); if (lastreadpos != 0){
jsonbuffer = metadata; readHeader(lastreadpos);
jsonbuffer = metadata;
}else{
if (fread(buffer, 4, 1, F) != 1){
fprintf(stderr, "Could not read size\n");
strbuffer = "";
jsonbuffer.null();
return;
}
uint32_t * ubuffer = (uint32_t *)buffer;
long packSize = ntohl(ubuffer[0]);
strbuffer.resize(packSize);
if (fread((void*)strbuffer.c_str(), packSize, 1, F) != 1){
fprintf(stderr, "Could not read packet\n");
strbuffer = "";
jsonbuffer.null();
return;
}
jsonbuffer = JSON::fromDTMI(strbuffer);
}
return; return;
} }
long long unsigned int version = 0; long long unsigned int version = 0;