mirror of
https://github.com/mapbase-source/source-sdk-2013.git
synced 2025-07-27 07:31:49 +03:00
Optimise string read in vscript save/restore
This commit is contained in:
parent
776c4e78bc
commit
b431151bac
@ -3835,26 +3835,10 @@ void SquirrelVM::ReadObject( SQObjectPtr &pObj, CUtlBuffer* pBuffer, ReadStateMa
|
|||||||
case OT_STRING:
|
case OT_STRING:
|
||||||
{
|
{
|
||||||
int len = pBuffer->GetInt();
|
int len = pBuffer->GetInt();
|
||||||
char *psz;
|
char *psz = (char*)pBuffer->PeekGet( 0 );
|
||||||
|
pBuffer->SeekGet( CUtlBuffer::SEEK_CURRENT, len );
|
||||||
if ( len < 1024 )
|
Assert( pBuffer->IsValid() );
|
||||||
{
|
|
||||||
psz = (char*)stackalloc( len );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
psz = (char*)malloc( len );
|
|
||||||
}
|
|
||||||
|
|
||||||
pBuffer->Get( psz, len );
|
|
||||||
|
|
||||||
obj._unVal.pString = SQString::Create( _ss(vm_), psz, len );
|
obj._unVal.pString = SQString::Create( _ss(vm_), psz, len );
|
||||||
|
|
||||||
if ( len >= 1024 )
|
|
||||||
{
|
|
||||||
free( psz );
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case OT_TABLE:
|
case OT_TABLE:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user