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

Function InternalizePath

engine/resource/src/resource_preloader.cpp:196–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

194namespace dmResource
195{
196 const char* InternalizePath(ResourcePreloader::SyncedData* preloader_synced_data, dmhash_t path_hash, const char* path, uint32_t path_len)
197 {
198 uint32_t* path_lookup = preloader_synced_data->m_PathLookup.Get(path_hash);
199 if (path_lookup != 0x0)
200 {
201 return &preloader_synced_data->m_PathData[*path_lookup];
202 }
203 if (preloader_synced_data->m_PathLookup.Full())
204 {
205 return 0x0;
206 }
207 if (preloader_synced_data->m_PathDataUsed + path_len + 1 > sizeof(preloader_synced_data->m_PathData))
208 {
209 return 0x0;
210 }
211 char* result = &preloader_synced_data->m_PathData[preloader_synced_data->m_PathDataUsed];
212 dmStrlCpy(result, path, path_len + 1);
213 preloader_synced_data->m_PathLookup.Put(path_hash, preloader_synced_data->m_PathDataUsed);
214 preloader_synced_data->m_PathDataUsed += path_len + 1;
215 return result;
216 }
217
218 static HResourceType GetResourceType(HPreloader preloader, const char* path)
219 {

Callers 1

MakePathDescriptorFunction · 0.85

Calls 4

dmStrlCpyFunction · 0.85
GetMethod · 0.45
FullMethod · 0.45
PutMethod · 0.45

Tested by

no test coverage detected