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_x, target_ship.shp_y,
|
||||||
target_ship.shp_own, &sublaunch) < 0)
|
target_ship.shp_own, &sublaunch) < 0)
|
||||||
return RET_OK;
|
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,
|
if (!msl_hit(pp, shp_hardtarget(&target_ship), EF_SHIP,
|
||||||
N_SHP_MISS, N_SHP_SMISS, sublaunch,
|
N_SHP_MISS, N_SHP_SMISS, sublaunch,
|
||||||
target_ship.shp_own)) {
|
target_ship.shp_own)) {
|
||||||
|
|
|
@ -393,7 +393,7 @@ c_fire(void)
|
||||||
putsect(&vsect);
|
putsect(&vsect);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
getship(vshipno, &vship);
|
getship(vship.shp_uid, &vship);
|
||||||
shipdamage(&vship, dam);
|
shipdamage(&vship, dam);
|
||||||
if (vship.shp_effic < SHIP_MINEFF)
|
if (vship.shp_effic < SHIP_MINEFF)
|
||||||
pr("%s sunk!\n", prsub(&vship));
|
pr("%s sunk!\n", prsub(&vship));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue