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 <armbru@pond.sub.org>
This commit is contained in:
parent
1f6b79dd10
commit
4914daa587
2 changed files with 3 additions and 2 deletions
|
@ -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)) {
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue