filesystem: fix ClearSearchPath

This commit is contained in:
Alibek Omarov 2023-02-12 17:09:53 +03:00
parent 0984368a31
commit e95161aa14
1 changed files with 15 additions and 12 deletions

View File

@ -373,24 +373,27 @@ FS_ClearSearchPath
*/
void FS_ClearSearchPath( void )
{
while( fs_searchpaths )
searchpath_t *cur, **prev;
prev = &fs_searchpaths;
while( true )
{
searchpath_t *search = fs_searchpaths;
cur = *prev;
if( !search ) break;
if( !cur )
break;
if( FBitSet( search->flags, FS_STATIC_PATH ))
// never delete static paths
if( FBitSet( cur->flags, FS_STATIC_PATH ))
{
// skip read-only pathes
if( search->next )
fs_searchpaths = search->next->next;
else break;
prev = &cur->next;
continue;
}
else fs_searchpaths = search->next;
search->pfnClose( search );
Mem_Free( search );
*prev = cur->next;
cur->pfnClose( cur );
Mem_Free( cur );
}
}