Implement folder blacklisting

This commit is contained in:
Steel Titanium 2020-01-31 16:37:55 -05:00
parent 4238003887
commit 7c83e5e420
No known key found for this signature in database
GPG Key ID: 924BA411F18DFDBE
1 changed files with 19 additions and 0 deletions

View File

@ -1746,6 +1746,18 @@ W_VerifyWAD (FILE *fp, lumpchecklist_t *checklist, boolean status)
return true;
}
// List of blacklisted folders to use when checking the PK3
static lumpchecklist_t folderblacklist[] =
{
{"Lua/", 4},
{"SOC/", 4},
{"Sprites/", 8},
{"Textures/", 9},
{"Patches/", 8},
{"Flats/", 6},
{"Fades/", 6}
};
static int
W_VerifyPK3 (FILE *fp, lumpchecklist_t *checklist, boolean status)
{
@ -1791,6 +1803,13 @@ W_VerifyPK3 (FILE *fp, lumpchecklist_t *checklist, boolean status)
if (fgets(fullname, zentry.namelen + 1, fp) != fullname)
return true;
// Check for folders first, if it's blacklisted it will return false
if (W_VerifyName(fullname, folderblacklist, status))
{
CONS_Printf("Blacklisted folder found - %s\n", fullname);
return false;
}
// Strip away file address and extension for the 8char name.
if ((trimname = strrchr(fullname, '/')) != 0)
trimname++;