mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-12 19:31:41 +00:00
Use a circular buffer for getReturnBuffer because StringStack's would get clobbered too quickly
This commit is contained in:
parent
593680fb3f
commit
18dee487f9
3 changed files with 137 additions and 4 deletions
|
|
@ -41,6 +41,7 @@
|
|||
#include "core/frameAllocator.h"
|
||||
|
||||
#include "console/codeInterpreter.h"
|
||||
#include "console/returnBuffer.h"
|
||||
|
||||
#ifndef TORQUE_TGB_ONLY
|
||||
#include "materials/materialDefinition.h"
|
||||
|
|
@ -101,17 +102,17 @@ F64 consoleStringToNumber(const char *str, StringTableEntry file, U32 line)
|
|||
|
||||
namespace Con
|
||||
{
|
||||
ReturnBuffer retBuffer;
|
||||
|
||||
char *getReturnBuffer(U32 bufferSize)
|
||||
|
||||
{
|
||||
return STR.getReturnBuffer(bufferSize);
|
||||
return retBuffer.getBuffer(bufferSize);
|
||||
}
|
||||
|
||||
char *getReturnBuffer(const char *stringToCopy)
|
||||
{
|
||||
U32 len = dStrlen(stringToCopy) + 1;
|
||||
char *ret = STR.getReturnBuffer(len);
|
||||
char *ret = retBuffer.getBuffer(len);
|
||||
dMemcpy(ret, stringToCopy, len);
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -119,7 +120,7 @@ namespace Con
|
|||
char* getReturnBuffer(const String& str)
|
||||
{
|
||||
const U32 size = str.size();
|
||||
char* ret = STR.getReturnBuffer(size);
|
||||
char* ret = retBuffer.getBuffer(size);
|
||||
dMemcpy(ret, str.c_str(), size);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue