MCPcopy Create free account
hub / github.com/defold/defold / CheckTable

Function CheckTable

engine/script/src/script_table.cpp:787–805  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

785 }
786
787 uint32_t CheckTable(lua_State* L, char* buffer, uint32_t buffer_size, int index)
788 {
789 assert((intptr_t)buffer % 16 == 0);
790 if (buffer_size > sizeof(TableHeader)) {
791 char* original_buffer = buffer;
792
793 TableHeader* header = (TableHeader*)buffer;
794 header->m_Magic = TABLE_MAGIC;
795 header->m_Version = TABLE_VERSION_BASE;
796 buffer += sizeof(TableHeader);
797 buffer_size -= (buffer - original_buffer);
798
799 dmArray<const void*> table_stack;
800 return sizeof(TableHeader) + DoCheckTable(L, *header, original_buffer, buffer, buffer_size, index, table_stack);
801 } else {
802 luaL_error(L, "buffer (%d bytes) too small for header (%zu bytes)", buffer_size, sizeof(TableHeader));
803 return 0;
804 }
805 }
806
807 const char* ReadHeader(const char* buffer, TableHeader& header)
808 {

Callers 7

Sys_SaveFunction · 0.85
Sys_SerializeFunction · 0.85
Msg_PostFunction · 0.85
TEST_FFunction · 0.85
ProduceIndexOutOfBoundsFunction · 0.85
LuaCheckTableFunction · 0.85
TEST_FFunction · 0.85

Calls 3

DoCheckTableFunction · 0.85
luaL_errorFunction · 0.85
assertFunction · 0.50

Tested by 4

TEST_FFunction · 0.68
ProduceIndexOutOfBoundsFunction · 0.68
LuaCheckTableFunction · 0.68
TEST_FFunction · 0.68