This is an automated email from the git hooks/post-receive script. smcv pushed a commit to annotated tag debian/2.5.2-7 in repository nexuiz-data.
commit 8743624a56cceab9468e19f8d036e7b8fc8ee1ab Author: Simon McVittie <[email protected]> Date: Tue Jan 2 09:45:01 2018 +0000 Add patch to avoid weird precedence in fteqcc (Closes: #668349) --- debian/changelog | 2 + ...entheses-around-array-member-dereferences.patch | 208 +++++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 211 insertions(+) diff --git a/debian/changelog b/debian/changelog index b4bfcd8..e7e93a1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,6 +12,8 @@ nexuiz-data (2.5.2-7) UNRELEASED; urgency=low Apply patch from Reiner Herrmann for locale-independent sorting (Closes: #808652) * Add DEP-3 patch metadata + * Put-parentheses-around-array-member-dereferences.patch: + Add patch to avoid weird precedence in fteqcc (Closes: #668349) -- Anton Balashov <[email protected]> Fri, 23 Aug 2013 09:18:43 +0400 diff --git a/debian/patches/Put-parentheses-around-array-member-dereferences.patch b/debian/patches/Put-parentheses-around-array-member-dereferences.patch new file mode 100644 index 0000000..3d50d1b --- /dev/null +++ b/debian/patches/Put-parentheses-around-array-member-dereferences.patch @@ -0,0 +1,208 @@ +From: Simon McVittie <[email protected]> +Date: Tue, 2 Jan 2018 09:31:51 +0000 +Subject: Put parentheses around array member dereferences + +This avoids precedence issues in newer versions of fteqcc. + +Similar in concept to +https://gitlab.com/xonotic/xonotic-data.pk3dir/commit/d27a9970837d9430120bc4dbe0fa873ecce87450 +in Xonotic, although the lines involved are unrelated. + +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=668349 +Forwarded: no, Nexuiz Classic is unmaintained upstream +--- + data/qcsrc/client/sbar.qc | 18 +++++++++--------- + data/qcsrc/server/cl_weaponsystem.qc | 4 ++-- + data/qcsrc/server/g_damage.qc | 4 ++-- + data/qcsrc/server/scores.qc | 12 ++++++------ + data/qcsrc/server/w_common.qc | 20 ++++++++++---------- + 5 files changed, 29 insertions(+), 29 deletions(-) + +diff --git a/data/qcsrc/client/sbar.qc b/data/qcsrc/client/sbar.qc +index 3c3fd17..715f0e0 100644 +--- a/data/qcsrc/client/sbar.qc ++++ b/data/qcsrc/client/sbar.qc +@@ -323,8 +323,8 @@ float Sbar_ComparePlayerScores(entity left, entity right) + return false; + } + +- vl = left.scores[ps_primary]; +- vr = right.scores[ps_primary]; ++ vl = left.(scores[ps_primary]); ++ vr = right.(scores[ps_primary]); + if(scores_flags[ps_primary] & SFL_ZERO_IS_WORST) + { + if(vl == 0 && vr != 0) +@@ -337,8 +337,8 @@ float Sbar_ComparePlayerScores(entity left, entity right) + if(vl < vr) + return IS_DECREASING(scores_flags[ps_primary]); + +- vl = left.scores[ps_secondary]; +- vr = right.scores[ps_secondary]; ++ vl = left.(scores[ps_secondary]); ++ vr = right.(scores[ps_secondary]); + if(scores_flags[ps_secondary] & SFL_ZERO_IS_WORST) + { + if(vl == 0 && vr != 0) +@@ -375,15 +375,15 @@ float Sbar_CompareTeamScores(entity left, entity right) + if(right.team == COLOR_SPECTATOR) + return 0; + +- vl = left.teamscores[ts_primary]; +- vr = right.teamscores[ts_primary]; ++ vl = left.(teamscores[ts_primary]); ++ vr = right.(teamscores[ts_primary]); + if(vl > vr) + return IS_INCREASING(teamscores_flags[ts_primary]); + if(vl < vr) + return IS_DECREASING(teamscores_flags[ts_primary]); + +- vl = left.teamscores[ts_secondary]; +- vr = right.teamscores[ts_secondary]; ++ vl = left.(teamscores[ts_secondary]); ++ vr = right.(teamscores[ts_secondary]); + if(vl > vr) + return IS_INCREASING(teamscores_flags[ts_secondary]); + if(vl < vr) +@@ -1305,7 +1305,7 @@ void Sbar_Score() + if(pl == me) + pl = pl.sort_next; + if(scores_flags[ps_primary] & SFL_ZERO_IS_WORST) +- if(pl.scores[ps_primary] == 0) ++ if(pl.(scores[ps_primary]) == 0) + pl = world; + + score = me.(scores[ps_primary]); +diff --git a/data/qcsrc/server/cl_weaponsystem.qc b/data/qcsrc/server/cl_weaponsystem.qc +index 9002518..13e0502 100644 +--- a/data/qcsrc/server/cl_weaponsystem.qc ++++ b/data/qcsrc/server/cl_weaponsystem.qc +@@ -150,8 +150,8 @@ void W_SetupShot_Dir_ProjectileSize(entity ent, vector s_forward, vector mi, vec + // Track max damage and set the stat to be sent later in g_world.qc + if not(inWarmupStage) + { +- ent.max_damage[ent.weapon] += maxdamage; +- ent.maxdamage_fired = ent.weapon + 64 * rint(ent.max_damage[ent.weapon]); ++ ent.(max_damage[ent.weapon]) += maxdamage; ++ ent.maxdamage_fired = ent.weapon + 64 * rint(ent.(max_damage[ent.weapon])); + } + + W_HitPlotAnalysis(ent, v_forward, v_right, v_up); +diff --git a/data/qcsrc/server/g_damage.qc b/data/qcsrc/server/g_damage.qc +index 4394741..513ff29 100644 +--- a/data/qcsrc/server/g_damage.qc ++++ b/data/qcsrc/server/g_damage.qc +@@ -989,8 +989,8 @@ void Damage_RecordDamage(entity attacker, float deathtype, float damage) + if(clienttype(attacker) == CLIENTTYPE_REAL) + { + // Track damage done and update the stat to be sent later in g_world.qc +- attacker.actual_damage[weaponid] += damage; +- attacker.damage_hits = weaponid + 64 * rint(attacker.actual_damage[weaponid]); ++ attacker.(actual_damage[weaponid]) += damage; ++ attacker.damage_hits = weaponid + 64 * rint(attacker.(actual_damage[weaponid])); + } + } + +diff --git a/data/qcsrc/server/scores.qc b/data/qcsrc/server/scores.qc +index d21ab95..07d92c6 100644 +--- a/data/qcsrc/server/scores.qc ++++ b/data/qcsrc/server/scores.qc +@@ -56,7 +56,7 @@ float TeamScore_SendEntity(entity to, float sendflags) + + longflags = 0; + for(i = 0, p = 1; i < MAX_TEAMSCORE; ++i, p *= 2) +- if(self.teamscores[i] > 127 || self.teamscores[i] <= -128) ++ if(self.(teamscores[i]) > 127 || self.(teamscores[i]) <= -128) + longflags |= p; + + #if MAX_TEAMSCORE <= 8 +@@ -70,9 +70,9 @@ float TeamScore_SendEntity(entity to, float sendflags) + if(sendflags & p) + { + if(longflags & p) +- WriteInt24_t(MSG_ENTITY, self.teamscores[i]); ++ WriteInt24_t(MSG_ENTITY, self.(teamscores[i])); + else +- WriteChar(MSG_ENTITY, self.teamscores[i]); ++ WriteChar(MSG_ENTITY, self.(teamscores[i])); + } + + return TRUE; +@@ -216,7 +216,7 @@ float PlayerScore_SendEntity(entity to, float sendflags) + + longflags = 0; + for(i = 0, p = 1; i < MAX_SCORE; ++i, p *= 2) +- if(self.scores[i] > 127 || self.scores[i] <= -128) ++ if(self.(scores[i]) > 127 || self.(scores[i]) <= -128) + longflags |= p; + + #if MAX_SCORE <= 8 +@@ -230,9 +230,9 @@ float PlayerScore_SendEntity(entity to, float sendflags) + if(sendflags & p) + { + if(longflags & p) +- WriteInt24_t(MSG_ENTITY, self.scores[i]); ++ WriteInt24_t(MSG_ENTITY, self.(scores[i])); + else +- WriteChar(MSG_ENTITY, self.scores[i]); ++ WriteChar(MSG_ENTITY, self.(scores[i])); + } + + return TRUE; +diff --git a/data/qcsrc/server/w_common.qc b/data/qcsrc/server/w_common.qc +index e88625d..119d22b 100644 +--- a/data/qcsrc/server/w_common.qc ++++ b/data/qcsrc/server/w_common.qc +@@ -156,14 +156,14 @@ void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, f + if not(inWarmupStage) + if not(self.isbot) + { +- self.bullets_fired[self.weapon] += 1; ++ self.(bullets_fired[self.weapon]) += 1; + + if(did_hit) +- self.bullets_hit[self.weapon] += 1; ++ self.(bullets_hit[self.weapon]) += 1; + + // update the client and store in addstat() in g_world +- self.damage_hits = self.weapon + 64 * rint(self.bullets_hit[self.weapon]); +- self.maxdamage_fired = self.weapon + 64 * rint(self.bullets_fired[self.weapon]); ++ self.damage_hits = self.weapon + 64 * rint(self.(bullets_hit[self.weapon])); ++ self.maxdamage_fired = self.weapon + 64 * rint(self.(bullets_fired[self.weapon])); + } + + // we're done with the explosion entity, remove it +@@ -223,9 +223,9 @@ void W_BallisticBullet_Hit (void) + if not(self.owner.isbot) + { + if(hit) +- self.owner.bullets_hit[self.owner.weapon] += 1; ++ self.owner.(bullets_hit[self.owner.weapon]) += 1; + // update the client +- self.owner.damage_hits = self.owner.weapon + 64 * rint(self.owner.bullets_hit[self.owner.weapon]); ++ self.owner.damage_hits = self.owner.weapon + 64 * rint(self.owner.(bullets_hit[self.owner.weapon])); + } + + //sound (self, CHAN_PROJECTILE, "weapons/electro_impact.wav", VOL_BASE, ATTN_NORM); +@@ -391,8 +391,8 @@ void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, f + if not(inWarmupStage) + if not(self.isbot) + { +- self.bullets_fired[self.weapon] += 1; +- self.maxdamage_fired = self.weapon + 64 * rint(self.bullets_fired[self.weapon]); ++ self.(bullets_fired[self.weapon]) += 1; ++ self.maxdamage_fired = self.weapon + 64 * rint(self.(bullets_fired[self.weapon])); + } + + if(cvar("g_antilag_bullets")) +@@ -443,8 +443,8 @@ void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, f + if not(inWarmupStage) + if not(self.isbot) + { +- self.bullets_fired[self.weapon] += 1; +- self.maxdamage_fired = self.weapon + 64 * rint(self.bullets_fired[self.weapon]); ++ self.(bullets_fired[self.weapon]) += 1; ++ self.maxdamage_fired = self.weapon + 64 * rint(self.(bullets_fired[self.weapon])); + } + + if(vlen(trace_endpos - self.origin) > 16) diff --git a/debian/patches/series b/debian/patches/series index d19e688..f60d68f 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -6,3 +6,4 @@ exclude_textures_from_data.pk3.diff windowed_by_default.diff reproducible_build.diff +Put-parentheses-around-array-member-dereferences.patch -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/nexuiz-data.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

