Skip to content

Commit ddb5871

Browse files
Optimise string read in vscript save/restore
1 parent a1de00d commit ddb5871

File tree

1 file changed

+3
-19
lines changed

1 file changed

+3
-19
lines changed

sp/src/vscript/vscript_squirrel.cpp

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3835,26 +3835,10 @@ void SquirrelVM::ReadObject( SQObjectPtr &pObj, CUtlBuffer* pBuffer, ReadStateMa
38353835
case OT_STRING:
38363836
{
38373837
int len = pBuffer->GetInt();
3838-
char *psz;
3839-
3840-
if ( len < 1024 )
3841-
{
3842-
psz = (char*)stackalloc( len );
3843-
}
3844-
else
3845-
{
3846-
psz = (char*)malloc( len );
3847-
}
3848-
3849-
pBuffer->Get( psz, len );
3850-
3838+
char *psz = (char*)pBuffer->PeekGet( 0 );
3839+
pBuffer->SeekGet( CUtlBuffer::SEEK_CURRENT, len );
3840+
Assert( pBuffer->IsValid() );
38513841
obj._unVal.pString = SQString::Create( _ss(vm_), psz, len );
3852-
3853-
if ( len >= 1024 )
3854-
{
3855-
free( psz );
3856-
}
3857-
38583842
break;
38593843
}
38603844
case OT_TABLE:

0 commit comments

Comments
 (0)