mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-12-22 16:02:29 +00:00
Enforce C11 standard compliance, -Werror=vla
This commit is contained in:
parent
bd8ebabfee
commit
88ee385ee3
5 changed files with 54 additions and 37 deletions
|
|
@ -201,6 +201,9 @@ endif()
|
||||||
|
|
||||||
target_compile_features(SRB2SDL2 PRIVATE c_std_11 cxx_std_17)
|
target_compile_features(SRB2SDL2 PRIVATE c_std_11 cxx_std_17)
|
||||||
set_target_properties(SRB2SDL2 PROPERTIES
|
set_target_properties(SRB2SDL2 PROPERTIES
|
||||||
|
C_STANDARD 11
|
||||||
|
C_STANDARD_REQUIRED ON
|
||||||
|
C_STANDARD_EXTENSIONS OFF
|
||||||
CXX_STANDARD 17
|
CXX_STANDARD 17
|
||||||
CXX_STANDARD_REQUIRED ON
|
CXX_STANDARD_REQUIRED ON
|
||||||
CXX_EXTENSIONS OFF
|
CXX_EXTENSIONS OFF
|
||||||
|
|
@ -468,6 +471,7 @@ target_compile_options(SRB2SDL2 PRIVATE
|
||||||
$<$<VERSION_GREATER_EQUAL:$<C_COMPILER_VERSION>,4.6.0>:
|
$<$<VERSION_GREATER_EQUAL:$<C_COMPILER_VERSION>,4.6.0>:
|
||||||
-Wno-suggest-attribute=noreturn
|
-Wno-suggest-attribute=noreturn
|
||||||
-Wno-error=suggest-attribute=noreturn
|
-Wno-error=suggest-attribute=noreturn
|
||||||
|
-Werror=vla
|
||||||
>
|
>
|
||||||
|
|
||||||
$<$<VERSION_GREATER_EQUAL:$<C_COMPILER_VERSION>,5.4.0>:
|
$<$<VERSION_GREATER_EQUAL:$<C_COMPILER_VERSION>,5.4.0>:
|
||||||
|
|
|
||||||
|
|
@ -4314,12 +4314,13 @@ static void Command_Addfile(void)
|
||||||
size_t argc = COM_Argc(); // amount of arguments total
|
size_t argc = COM_Argc(); // amount of arguments total
|
||||||
size_t curarg; // current argument index
|
size_t curarg; // current argument index
|
||||||
|
|
||||||
const char *addedfiles[argc]; // list of filenames already processed
|
const char **addedfiles = Z_Calloc(sizeof(const char*) * argc, PU_STATIC, NULL);
|
||||||
size_t numfilesadded = 0; // the amount of filenames processed
|
size_t numfilesadded = 0; // the amount of filenames processed
|
||||||
|
|
||||||
if (argc < 2)
|
if (argc < 2)
|
||||||
{
|
{
|
||||||
CONS_Printf(M_GetText("addfile <filename.pk3/wad/lua/soc> [filename2...] [...]: Load add-ons\n"));
|
CONS_Printf(M_GetText("addfile <filename.pk3/wad/lua/soc> [filename2...] [...]: Load add-ons\n"));
|
||||||
|
Z_Free(addedfiles);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4357,7 +4358,10 @@ static void Command_Addfile(void)
|
||||||
// Disallow non-printing characters and semicolons.
|
// Disallow non-printing characters and semicolons.
|
||||||
for (i = 0; fn[i] != '\0'; i++)
|
for (i = 0; fn[i] != '\0'; i++)
|
||||||
if (!isprint(fn[i]) || fn[i] == ';')
|
if (!isprint(fn[i]) || fn[i] == ';')
|
||||||
|
{
|
||||||
|
Z_Free(addedfiles);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
musiconly = W_VerifyNMUSlumps(fn, false);
|
musiconly = W_VerifyNMUSlumps(fn, false);
|
||||||
|
|
||||||
|
|
@ -4397,6 +4401,7 @@ static void Command_Addfile(void)
|
||||||
if (numwadfiles >= MAX_WADFILES)
|
if (numwadfiles >= MAX_WADFILES)
|
||||||
{
|
{
|
||||||
CONS_Alert(CONS_ERROR, M_GetText("Too many files loaded to add %s\n"), fn);
|
CONS_Alert(CONS_ERROR, M_GetText("Too many files loaded to add %s\n"), fn);
|
||||||
|
Z_Free(addedfiles);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -4447,6 +4452,8 @@ static void Command_Addfile(void)
|
||||||
else
|
else
|
||||||
SendNetXCmd(XD_ADDFILE, buf, buf_p - buf);
|
SendNetXCmd(XD_ADDFILE, buf, buf_p - buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Z_Free(addedfiles);
|
||||||
#endif/*TESTERS*/
|
#endif/*TESTERS*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -578,7 +578,7 @@ void readskincolor(MYFILE *f, INT32 num)
|
||||||
if (fastcmp(word, "NAME"))
|
if (fastcmp(word, "NAME"))
|
||||||
{
|
{
|
||||||
size_t namesize = sizeof(skincolors[num].name);
|
size_t namesize = sizeof(skincolors[num].name);
|
||||||
char truncword[namesize];
|
char *truncword = Z_Malloc(sizeof(char) * namesize, PU_STATIC, NULL);
|
||||||
UINT16 dupecheck;
|
UINT16 dupecheck;
|
||||||
|
|
||||||
deh_strlcpy(truncword, word2, namesize, va("Skincolor %d: name", num)); // truncate here to check for dupes
|
deh_strlcpy(truncword, word2, namesize, va("Skincolor %d: name", num)); // truncate here to check for dupes
|
||||||
|
|
@ -586,7 +586,7 @@ void readskincolor(MYFILE *f, INT32 num)
|
||||||
if (truncword[0] != '\0' && (!stricmp(truncword, skincolors[SKINCOLOR_NONE].name) || (dupecheck && dupecheck != num)))
|
if (truncword[0] != '\0' && (!stricmp(truncword, skincolors[SKINCOLOR_NONE].name) || (dupecheck && dupecheck != num)))
|
||||||
{
|
{
|
||||||
size_t lastchar = strlen(truncword);
|
size_t lastchar = strlen(truncword);
|
||||||
char oldword[lastchar+1];
|
char *oldword = Z_Calloc(sizeof(char) * (lastchar + 1), PU_STATIC, NULL);
|
||||||
char dupenum = '1';
|
char dupenum = '1';
|
||||||
|
|
||||||
strlcpy(oldword, truncword, lastchar+1);
|
strlcpy(oldword, truncword, lastchar+1);
|
||||||
|
|
@ -611,9 +611,11 @@ void readskincolor(MYFILE *f, INT32 num)
|
||||||
}
|
}
|
||||||
|
|
||||||
deh_warning("Skincolor %d: name %s is a duplicate of another skincolor's name - renamed to %s", num, oldword, truncword);
|
deh_warning("Skincolor %d: name %s is a duplicate of another skincolor's name - renamed to %s", num, oldword, truncword);
|
||||||
|
Z_Free(oldword);
|
||||||
}
|
}
|
||||||
|
|
||||||
strlcpy(skincolors[num].name, truncword, namesize); // already truncated
|
strlcpy(skincolors[num].name, truncword, namesize); // already truncated
|
||||||
|
Z_Free(truncword);
|
||||||
}
|
}
|
||||||
else if (fastcmp(word, "RAMP"))
|
else if (fastcmp(word, "RAMP"))
|
||||||
{
|
{
|
||||||
|
|
@ -2506,7 +2508,7 @@ static void conditiongetparam(char **params, UINT8 paramid, char **spos)
|
||||||
static void readcondition(UINT16 set, UINT32 id, char *word2)
|
static void readcondition(UINT16 set, UINT32 id, char *word2)
|
||||||
{
|
{
|
||||||
INT32 i;
|
INT32 i;
|
||||||
const UINT8 MAXCONDITIONPARAMS = 5;
|
#define MAXCONDITIONPARAMS 5
|
||||||
char *params[MAXCONDITIONPARAMS]; // condition, requirement, extra info, extra info, stringvar
|
char *params[MAXCONDITIONPARAMS]; // condition, requirement, extra info, extra info, stringvar
|
||||||
char *spos = NULL;
|
char *spos = NULL;
|
||||||
char *stringvar = NULL;
|
char *stringvar = NULL;
|
||||||
|
|
@ -3250,6 +3252,8 @@ static void readcondition(UINT16 set, UINT32 id, char *word2)
|
||||||
|
|
||||||
setcondition:
|
setcondition:
|
||||||
M_AddRawCondition(set, (UINT8)id, ty, re, x1, x2, stringvar);
|
M_AddRawCondition(set, (UINT8)id, ty, re, x1, x2, stringvar);
|
||||||
|
|
||||||
|
#undef MAXCONDITIONPARAMS
|
||||||
}
|
}
|
||||||
|
|
||||||
void readconditionset(MYFILE *f, UINT16 setnum)
|
void readconditionset(MYFILE *f, UINT16 setnum)
|
||||||
|
|
|
||||||
|
|
@ -3743,7 +3743,7 @@ static void K_drawKartNameTags(void)
|
||||||
|
|
||||||
if (sortlen > 0)
|
if (sortlen > 0)
|
||||||
{
|
{
|
||||||
UINT8 sortedplayers[sortlen];
|
UINT8 *sortedplayers = Z_Malloc(sizeof(UINT8) * sortlen, PU_STATIC, NULL);
|
||||||
|
|
||||||
for (i = 0; i < sortlen; i++)
|
for (i = 0; i < sortlen; i++)
|
||||||
{
|
{
|
||||||
|
|
@ -3822,6 +3822,8 @@ static void K_drawKartNameTags(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Z_Free(sortedplayers);
|
||||||
}
|
}
|
||||||
|
|
||||||
V_ClearClipRect();
|
V_ClearClipRect();
|
||||||
|
|
|
||||||
22
src/m_cond.c
22
src/m_cond.c
|
|
@ -150,13 +150,13 @@ void M_PopulateChallengeGrid(void)
|
||||||
UINT16 numspots = (gamedata->challengegridwidth - (challengegridloops ? 0 : majorcompact))
|
UINT16 numspots = (gamedata->challengegridwidth - (challengegridloops ? 0 : majorcompact))
|
||||||
* ((CHALLENGEGRIDHEIGHT-1) / majorcompact);
|
* ((CHALLENGEGRIDHEIGHT-1) / majorcompact);
|
||||||
// 0 is row, 1 is column
|
// 0 is row, 1 is column
|
||||||
INT16 quickcheck[numspots][2];
|
INT16 *quickcheck = Z_Calloc(sizeof(INT16) * 2 * numspots, PU_STATIC, NULL);
|
||||||
|
|
||||||
// Prepare the easy-grab spots.
|
// Prepare the easy-grab spots.
|
||||||
for (i = 0; i < numspots; i++)
|
for (i = 0; i < numspots; i++)
|
||||||
{
|
{
|
||||||
quickcheck[i][0] = i%(CHALLENGEGRIDHEIGHT-1);
|
quickcheck[i * 2 + 0] = i%(CHALLENGEGRIDHEIGHT-1);
|
||||||
quickcheck[i][1] = majorcompact * i/(CHALLENGEGRIDHEIGHT-1);
|
quickcheck[i * 2 + 1] = majorcompact * i/(CHALLENGEGRIDHEIGHT-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Place in random valid locations.
|
// Place in random valid locations.
|
||||||
|
|
@ -164,8 +164,8 @@ void M_PopulateChallengeGrid(void)
|
||||||
{
|
{
|
||||||
INT16 row, col;
|
INT16 row, col;
|
||||||
j = M_RandomKey(numspots);
|
j = M_RandomKey(numspots);
|
||||||
row = quickcheck[j][0];
|
row = quickcheck[j * 2 + 0];
|
||||||
col = quickcheck[j][1];
|
col = quickcheck[j * 2 + 1];
|
||||||
|
|
||||||
// We always take from selection[1][] in order, but the PLACEMENT is still random.
|
// We always take from selection[1][] in order, but the PLACEMENT is still random.
|
||||||
nummajorunlocks--;
|
nummajorunlocks--;
|
||||||
|
|
@ -192,17 +192,17 @@ void M_PopulateChallengeGrid(void)
|
||||||
for (i = 0; i < numspots; i++)
|
for (i = 0; i < numspots; i++)
|
||||||
{
|
{
|
||||||
quickcheckagain:
|
quickcheckagain:
|
||||||
if (abs((quickcheck[i][0]) - (row)) <= 1 // Row distance
|
if (abs((quickcheck[i * 2 + 0]) - (row)) <= 1 // Row distance
|
||||||
&& (abs((quickcheck[i][1]) - (col)) <= 1 // Column distance
|
&& (abs((quickcheck[i * 2 + 1]) - (col)) <= 1 // Column distance
|
||||||
|| (quickcheck[i][1] == 0 && col == gamedata->challengegridwidth-1) // Wraparounds l->r
|
|| (quickcheck[i * 2 + 1] == 0 && col == gamedata->challengegridwidth-1) // Wraparounds l->r
|
||||||
|| (quickcheck[i][1] == gamedata->challengegridwidth-1 && col == 0))) // Wraparounds r->l
|
|| (quickcheck[i * 2 + 1] == gamedata->challengegridwidth-1 && col == 0))) // Wraparounds r->l
|
||||||
{
|
{
|
||||||
numspots--; // Remove from possible indicies
|
numspots--; // Remove from possible indicies
|
||||||
if (i == numspots)
|
if (i == numspots)
|
||||||
break;
|
break;
|
||||||
// Shuffle remaining so we can keep on using M_RandomKey
|
// Shuffle remaining so we can keep on using M_RandomKey
|
||||||
quickcheck[i][0] = quickcheck[numspots][0];
|
quickcheck[i * 2 + 0] = quickcheck[numspots * 2 + 0];
|
||||||
quickcheck[i][1] = quickcheck[numspots][1];
|
quickcheck[i * 2 + 1] = quickcheck[numspots * 2 + 1];
|
||||||
// Woah there - we've gotta check the one that just got put in our place.
|
// Woah there - we've gotta check the one that just got put in our place.
|
||||||
goto quickcheckagain;
|
goto quickcheckagain;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue