Handle single and second string data in failure dispatch.

This commit is contained in:
Bartosz Taudul 2020-09-30 15:46:00 +02:00
parent 3135191e90
commit cecc3783a8

View File

@ -2985,20 +2985,31 @@ void Worker::DispatchFailure( const QueueItem& ev, const char*& ptr )
} }
else else
{ {
ptr += QueueDataSize[ev.hdr.idx]; uint16_t sz;
switch( ev.hdr.type ) switch( ev.hdr.type )
{ {
case QueueType::SourceLocation: case QueueType::SingleStringData:
AddSourceLocation( ev.srcloc ); case QueueType::SecondStringData:
m_serverQuerySpaceLeft++; ptr += sizeof( QueueHeader );
break; memcpy( &sz, ptr, sizeof( sz ) );
case QueueType::CallstackFrameSize: ptr += sizeof( sz ) + sz;
case QueueType::SymbolInformation:
case QueueType::ParamPingback:
m_serverQuerySpaceLeft++;
break; break;
default: default:
break; ptr += QueueDataSize[ev.hdr.idx];
switch( ev.hdr.type )
{
case QueueType::SourceLocation:
AddSourceLocation( ev.srcloc );
m_serverQuerySpaceLeft++;
break;
case QueueType::CallstackFrameSize:
case QueueType::SymbolInformation:
case QueueType::ParamPingback:
m_serverQuerySpaceLeft++;
break;
default:
break;
}
} }
} }
} }