mirror of
https://github.com/nzp-team/fteqw.git
synced 2025-02-17 01:11:18 +00:00
Fix fs_cache getting outdated after file renames/removes.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5597 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
effeb6e089
commit
246f24bafd
1 changed files with 16 additions and 2 deletions
|
@ -2213,7 +2213,15 @@ qboolean FS_Rename2(const char *oldf, const char *newf, enum fs_relative oldrela
|
|||
return false;
|
||||
|
||||
FS_CreatePath(newf, newrelativeto);
|
||||
return Sys_Rename(oldfullname, newfullname);
|
||||
if (Sys_Rename(oldfullname, newfullname))
|
||||
{
|
||||
if (oldrelativeto >= FS_GAME)
|
||||
FS_FlushFSHashRemoved(oldf);
|
||||
if (newrelativeto >= FS_GAME)
|
||||
FS_FlushFSHashWritten(newf);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
qboolean FS_Rename(const char *oldf, const char *newf, enum fs_relative relativeto)
|
||||
{
|
||||
|
@ -2226,7 +2234,13 @@ qboolean FS_Remove(const char *fname, enum fs_relative relativeto)
|
|||
if (!FS_NativePath(fname, relativeto, fullname, sizeof(fullname)))
|
||||
return false;
|
||||
|
||||
return Sys_remove (fullname);
|
||||
if (Sys_remove (fullname))
|
||||
{
|
||||
if (relativeto >= FS_GAME)
|
||||
FS_FlushFSHashRemoved(fname);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
//create a path for the given filename (dir-only must have trailing slash)
|
||||
void FS_CreatePath(const char *pname, enum fs_relative relativeto)
|
||||
|
|
Loading…
Reference in a new issue