From: Markus Armbruster Date: Sat, 23 Jan 2021 07:48:56 +0000 (+0100) Subject: fire launch: Avoid "may be used uninitialized" warnings X-Git-Tag: v4.4.1~13 X-Git-Url: http://git.pond.sub.org/?p=empserver;a=commitdiff_plain;h=4914daa587a25df9792013a994e5d678173fdf28 fire launch: Avoid "may be used uninitialized" warnings launch_missile() initializes @n to the target ship number only when the target is a ship. It also uses it only then, to re-get the ship. Clang is cool with this, but GCC gets confused and warns "ā€˜nā€™ may be used uninitialized". Use target_ship.shp_uid instead of @n to avoid the warning. Similar issue in c_fire(): use vship.shp_uid instead of for @vhsipno. Signed-off-by: Markus Armbruster --- diff --git a/src/lib/commands/laun.c b/src/lib/commands/laun.c index 9e1466b5c..15ba87a21 100644 --- a/src/lib/commands/laun.c +++ b/src/lib/commands/laun.c @@ -263,7 +263,8 @@ launch_missile(struct plnstr *pp) target_ship.shp_x, target_ship.shp_y, target_ship.shp_own, &sublaunch) < 0) return RET_OK; - getship(n, &target_ship); + /* @target_ship may have expended shells defending */ + getship(target_ship.shp_uid, &target_ship); if (!msl_hit(pp, shp_hardtarget(&target_ship), EF_SHIP, N_SHP_MISS, N_SHP_SMISS, sublaunch, target_ship.shp_own)) { diff --git a/src/lib/commands/mfir.c b/src/lib/commands/mfir.c index cb1eb9c58..de2aa0a45 100644 --- a/src/lib/commands/mfir.c +++ b/src/lib/commands/mfir.c @@ -393,7 +393,7 @@ c_fire(void) putsect(&vsect); break; default: - getship(vshipno, &vship); + getship(vship.shp_uid, &vship); shipdamage(&vship, dam); if (vship.shp_effic < SHIP_MINEFF) pr("%s sunk!\n", prsub(&vship));