MCPcopy Create free account
hub / github.com/JACoders/OpenJK / Sys_ConcatenateFileLists

Function Sys_ConcatenateFileLists

code/qcommon/files.cpp:2246–2282  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2244}
2245
2246static char** Sys_ConcatenateFileLists( char **list0, char **list1, char **list2 )
2247{
2248 int totalLength = 0;
2249 char** cat = NULL, **dst, **src;
2250
2251 totalLength += Sys_CountFileList(list0);
2252 totalLength += Sys_CountFileList(list1);
2253 totalLength += Sys_CountFileList(list2);
2254
2255 /* Create new list. */
2256 dst = cat = (char **)Z_Malloc( ( totalLength + 1 ) * sizeof( char* ), TAG_FILESYS, qtrue );
2257
2258 /* Copy over lists. */
2259 if (list0) {
2260 for (src = list0; *src; src++, dst++)
2261 *dst = *src;
2262 }
2263 if (list1) {
2264 for (src = list1; *src; src++, dst++)
2265 *dst = *src;
2266 }
2267 if (list2) {
2268 for (src = list2; *src; src++, dst++)
2269 *dst = *src;
2270 }
2271
2272 // Terminate the list
2273 *dst = NULL;
2274
2275 // Free our old lists.
2276 // NOTE: not freeing their content, it's been merged in dst and still being used
2277 if (list0) Z_Free( list0 );
2278 if (list1) Z_Free( list1 );
2279 if (list2) Z_Free( list2 );
2280
2281 return cat;
2282}
2283//#endif
2284
2285// For base game mod listing

Callers 1

FS_GetModListFunction · 0.70

Calls 3

Sys_CountFileListFunction · 0.70
Z_MallocFunction · 0.70
Z_FreeFunction · 0.70

Tested by

no test coverage detected