cleanup
This commit is contained in:
@@ -34,25 +34,27 @@ static LuaFunctionList *g_LuaFunctions = NULL;
|
|||||||
#pragma warning (disable : 4611)
|
#pragma warning (disable : 4611)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct ChunkReaderData
|
struct ChunkReaderString
|
||||||
{
|
{
|
||||||
const RString *buf;
|
ChunkReaderString( const RString &sBuf ): m_sBuf(sBuf) { m_bDone = false; }
|
||||||
bool done;
|
static const char *Reader( lua_State *L, void *ptr, size_t *size );
|
||||||
ChunkReaderData() { buf = NULL; done = false; }
|
|
||||||
|
const RString m_sBuf;
|
||||||
|
bool m_bDone;
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *ChunkReaderString( lua_State *L, void *ptr, size_t *size )
|
const char *ChunkReaderString::Reader( lua_State *L, void *pPtr, size_t *pSize )
|
||||||
{
|
{
|
||||||
ChunkReaderData *data = (ChunkReaderData *) ptr;
|
ChunkReaderString *pData = (ChunkReaderString *) pPtr;
|
||||||
if( data->done )
|
if( pData->m_bDone )
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
data->done = true;
|
pData->m_bDone = true;
|
||||||
|
|
||||||
*size = data->buf->size();
|
*pSize = pData->m_sBuf.size();
|
||||||
const char *ret = data->buf->data();
|
const char *pRet = pData->m_sBuf.data();
|
||||||
|
|
||||||
return ret;
|
return pRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LuaManager::SetGlobal( const RString &sName, int val )
|
void LuaManager::SetGlobal( const RString &sName, int val )
|
||||||
@@ -501,9 +503,8 @@ bool LuaHelpers::RunScript( Lua *L, const RString &sScript, const RString &sName
|
|||||||
{
|
{
|
||||||
// load string
|
// load string
|
||||||
{
|
{
|
||||||
ChunkReaderData data;
|
ChunkReaderString data( sScript );
|
||||||
data.buf = &sScript;
|
int ret = lua_load( L, ChunkReaderString::Reader, &data, sName );
|
||||||
int ret = lua_load( L, ChunkReaderString, &data, sName );
|
|
||||||
|
|
||||||
if( ret )
|
if( ret )
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user