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

Function CheckBufferOrString

engine/gamesys/src/gamesys/scripts/script_resource.cpp:2935–2955  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2933}
2934
2935static uint8_t* CheckBufferOrString(lua_State* L, int index, uint32_t* data_size)
2936{
2937 dmScript::LuaHBuffer* lua_buffer = dmScript::ToBuffer(L, index);
2938 if (lua_buffer)
2939 {
2940 dmBuffer::HBuffer buffer = dmGameSystem::UnpackLuaBuffer(lua_buffer);
2941
2942 uint8_t* data = 0;
2943 dmBuffer::GetBytes(buffer, (void**)&data, data_size);
2944 return data;
2945 }
2946 else if (lua_isstring(L, index))
2947 {
2948 size_t string_len;
2949 uint8_t* data = (uint8_t*)luaL_checklstring(L, -1, &string_len);
2950 *data_size = (uint32_t)string_len;
2951 return data;
2952 }
2953 luaL_error(L, "The field must be using either a buffer or a string.");
2954 return 0;
2955}
2956
2957
2958/*# Creates a sound data resource (.oggc/.opusc/.wavc)

Callers 1

CreateSoundDataFunction · 0.85

Calls 6

ToBufferFunction · 0.85
UnpackLuaBufferFunction · 0.85
lua_isstringFunction · 0.85
luaL_checklstringFunction · 0.85
luaL_errorFunction · 0.85
GetBytesFunction · 0.70

Tested by

no test coverage detected