[build] Fix a pile of gcc 10 issues

gcc got stricter about array accesses, complicating progs macros, and
much better at detecting buffer overflows.
This commit is contained in:
Bill Currie 2020-12-21 02:12:51 +09:00
parent af814ff9a8
commit ab04a1915e
30 changed files with 125 additions and 107 deletions

View file

@ -193,7 +193,7 @@ extern progs_t sv_pr_state;
#define SVstring(e,f) SVFIELD (e, f, string)
#define SVfunc(e,f) SVFIELD (e, f, func)
#define SVentity(e,f) SVFIELD (e, f, entity)
#define SVvector(e,f) SVFIELD (e, f, vector)
#define SVvector(e,f) (&SVFIELD (e, f, vector))
#define SVinteger(e,f) SVFIELD (e, f, integer)
#if TYPECHECK_PROGS
#define SVdouble(e,f) E_DOUBLE (e, PR_AccessField (&sv_pr_state, #f, ev_##t, __FILE__, __LINE__))

View file

@ -738,7 +738,7 @@ SpectatorMove (void)
// friction
speed = DotProduct (pmove.velocity, pmove.velocity);
if (speed < 1) {
VectorZero (pmove.velocity)
VectorZero (pmove.velocity);
} else {
speed = sqrt (speed);
drop = 0;

View file

@ -101,8 +101,8 @@ free_edict (progs_t *pr, edict_t *ent)
ent->v[sv_fields.frame].float_var = 0;
ent->v[sv_fields.nextthink].float_var = -1;
ent->v[sv_fields.solid].float_var = 0;
memset (ent->v[sv_fields.origin].vector_var, 0, 3*sizeof (float));
memset (ent->v[sv_fields.angles].vector_var, 0, 3*sizeof (float));
memset (&ent->v[sv_fields.origin].vector_var, 0, 3*sizeof (float));
memset (&ent->v[sv_fields.angles].vector_var, 0, 3*sizeof (float));
} else {
ED_ClearEdict (pr, ent, 0);
}