atsb / Doom64EX-Plus

An improved modern version of Doom64EX.
GNU General Public License v2.0
102 stars 17 forks source link

fix GCC warnings with -Wall. Some are logic errors #243

Open bubbleguuum opened 3 weeks ago

bubbleguuum commented 3 weeks ago

This fixes these warnings given by GCC with -Wall. Some of them seems to be logic errors (please review). In particular the 2 ones with operator & having precedence over + and -.

src/engine/st_stuff.c: In function ‘ST_DrawChatText’:
src/engine/st_stuff.c:1238:34: warning: ‘sprintf’ may write a terminating nul past the end of the destination [-Wformat-overflow=]
 1238 |                 sprintf(tmp, "%s_", st_chatstring[consoleplayer]);
      |                                  ^
src/engine/st_stuff.c:1238:17: note: ‘sprintf’ output between 2 and 257 bytes into a destination of size 256
 1238 |                 sprintf(tmp, "%s_", st_chatstring[consoleplayer]);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

------------

src/engine/p_telept.c: In function ‘EV_SilentTeleport’:
src/engine/p_telept.c:164:21: warning: variable ‘oldz’ set but not used [-Wunused-but-set-variable]
  164 |         fixed_t     oldz;
      |                     ^~~~
src/engine/p_telept.c:163:21: warning: variable ‘oldy’ set but not used [-Wunused-but-set-variable]
  163 |         fixed_t     oldy;
      |                     ^~~~
src/engine/p_telept.c:162:21: warning: variable ‘oldx’ set but not used [-Wunused-but-set-variable]
  162 |         fixed_t     oldx;
      |                     ^~~~

--------------------

src/engine/p_pspr.c: In function ‘P_GunShot’:
src/engine/p_pspr.c:602:27: warning: unused variable ‘rnd2’ [-Wunused-variable]
  602 |         int         rnd1, rnd2;
      |                           ^~~~
src/engine/p_pspr.c:602:21: warning: unused variable ‘rnd1’ [-Wunused-variable]
  602 |         int         rnd1, rnd2;

-----------------------

src/engine/p_pspr.c: In function ‘A_WeaponReady’:
src/engine/p_pspr.c:320:35: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
  320 |         angle = (128 * leveltime) & FINEANGLES - 1;

----------------------------
src/engine/p_plats.c: In function ‘T_PlatRaise’:
src/engine/p_plats.c:98:25: warning: enumeration value ‘perpetualRaise’ not handled in switch [-Wswitch]
   98 |                         switch (plat->type) {
      |                         ^~~~~~
src/engine/p_plats.c:98:25: warning: enumeration value ‘downWaitUpStay’ not handled in switch [-Wswitch]
src/engine/p_plats.c:98:25: warning: enumeration value ‘raiseAndChange’ not handled in switch [-Wswitch]
src/engine/p_plats.c:98:25: warning: enumeration value ‘raiseToNearestAndChange’ not handled in switch [-Wswitch]
src/engine/p_plats.c:98:25: warning: enumeration value ‘blazeDWUS’ not handled in switch [-Wswitch]
src/engine/p_plats.c:98:25: warning: enumeration value ‘customDownUp’ not handled in switch [-Wswitch]
src/engine/p_plats.c:98:25: warning: enumeration value ‘customDownUpFast’ not handled in switch [-Wswitch]

------------------------

src/engine/p_mobj.c: In function ‘P_CreateFadeOutThinker’:
src/engine/p_mobj.c:863:23: warning: ‘flags’ may be used uninitialized [-Wmaybe-uninitialized]
  863 |                 flags |= MF_SHOOTABLE;
      |                       ^~
src/engine/p_mobj.c:860:13: note: ‘flags’ was declared here
  860 |         int flags;

-----------------------

src/engine/p_inter.c: In function ‘P_DamageMobj’:
src/engine/p_inter.c:1014:21: warning: variable ‘temp’ set but not used [-Wunused-but-set-variable]
 1014 |         int         temp;

-----------------------

src/engine/p_inter.c: In function ‘P_GiveCard’:
src/engine/p_inter.c:285:9: warning: enumeration value ‘NUMCARDS’ not handled in switch [-Wswitch]
  285 |         switch (card) {

---------------------------

src/engine/p_enemy.c: In function ‘A_BarrelExplode’:
src/engine/p_enemy.c:1809:17: warning: variable ‘exp’ set but not used [-Wunused-but-set-variable]
 1809 |         mobj_t* exp;

-------------------------

src/engine/m_menu.c: In function ‘M_DrawNetwork’:
src/engine/m_menu.c:945:28: warning: unused variable ‘networkscalestrings’ [-Wunused-variable]
  945 |         static const char* networkscalestrings[3] = {
      |                            ^~~~~~~~~~~~~~~~~~~

--------------------------------

src/engine/m_menu.c: In function ‘M_DrawFeaturesMenu’:
src/engine/m_menu.c:2575:19: warning: unused variable ‘map’ [-Wunused-variable]
 2575 |         mapdef_t* map = P_GetMapInfo(levelwarp + 1);

----------------

src/engine/g_actions.c: In function ‘G_ActionResponder’:
src/engine/g_actions.c:393:9: warning: enumeration value ‘ev_gamepad’ not handled in switch [-Wswitch]
  393 |         switch (ev->type) {
      |         ^~~~~~
src/engine/g_actions.c: In function ‘G_BindActionByEvent’:
src/engine/g_actions.c:628:9: warning: enumeration value ‘ev_keyup’ not handled in switch [-Wswitch]
  628 |         switch (ev->type) {
      |         ^~~~~~
src/engine/g_actions.c:628:9: warning: enumeration value ‘ev_mouseup’ not handled in switch [-Wswitch]
src/engine/g_actions.c:628:9: warning: enumeration value ‘ev_gamepad’ not
handled in switch [-Wswitch]

-----------------------

src/engine/f_finale.c: In function ‘F_Ticker’:
src/engine/f_finale.c:157:53: warning: suggest parentheses around ‘+’ in operand of ‘&’ [-Wparentheses]
  157 |                         castrotation = castrotation + 1 & 7;
      |                                        ~~~~~~~~~~~~~^~~
src/engine/f_finale.c:161:53: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses]
  161 |                         castrotation = castrotation - 1 & 7;
      |                                        ~~~~~~~~~~~~~^~~
src/engine/f_finale.c:169:21: warning: operation on ‘finalePal.r’ may be undefined [-Wsequence-point]
  169 |         finalePal.r = MIN(finalePal.r += 2, 250);
src/engine/f_finale.c:170:21: warning: operation on ‘finalePal.g’ may be undefined [-Wsequence-point]
  170 |         finalePal.g = MIN(finalePal.g += 2, 250);
src/engine/f_finale.c:171:21: warning: operation on ‘finalePal.b’ may be undefined [-Wsequence-point]
  171 |         finalePal.b = MIN(finalePal.b += 2, 250);

----------

src/engine/con_cvar.c: In function ‘CON_CvarSet’:
src/engine/con_cvar.c:112:17: warning: variable ‘changed’ set but not used [-Wunused-but-set-variable]
  112 |         boolean changed;

---------------

src/engine/con_console.c: In function ‘CON_ParseKey’:
src/engine/con_console.c:268:31: warning: array subscript has type ‘char’ [-Wchar-subscripts]
  268 |                 c = shiftxform[c];

There is also that one that I did not address, as I do not know if it is a bug where the function should return rtn (or not):

src/engine/p_lights.c: In function ‘P_DoSectorLightChange’:
src/engine/p_lights.c:609:13: warning: variable ‘rtn’ set but not used [-Wunused-but-set-variable]
  609 |         int rtn;