edit: De-duplicate code in edit()'s main switch

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2013-03-29 18:58:13 +01:00
parent 0faceac070
commit 4d99e1df37

View file

@ -157,10 +157,10 @@ edit(void)
} else } else
return RET_OK; return RET_OK;
if (!check_obj_ok(&item.gen))
return RET_FAIL;
switch (ewhat) { switch (ewhat) {
case 'c': case 'c':
if (!check_obj_ok(&item.gen))
return RET_FAIL;
/* /*
* edit_nat() may update the edited country by sending it * edit_nat() may update the edited country by sending it
* bulletins. Writing back item.nat would trigger a seqno * bulletins. Writing back item.nat would trigger a seqno
@ -172,46 +172,26 @@ edit(void)
if (!putnat(np)) if (!putnat(np))
return RET_FAIL; return RET_FAIL;
item.nat = *np; item.nat = *np;
break; continue;
case 'l': case 'l':
if (!check_sect_ok(&item.sect))
return RET_FAIL;
ret = edit_sect(&item.sect, key, ptr); ret = edit_sect(&item.sect, key, ptr);
if (ret != RET_OK)
return ret;
if (!putsect(&item.sect))
return RET_FAIL;
break; break;
case 's': case 's':
if (!check_ship_ok(&item.ship))
return RET_FAIL;
ret = edit_ship(&item.ship, key, ptr); ret = edit_ship(&item.ship, key, ptr);
if (ret != RET_OK)
return ret;
if (!putship(item.ship.shp_uid, &item.ship))
return RET_FAIL;
break; break;
case 'u': case 'u':
if (!check_land_ok(&item.land))
return RET_FAIL;
ret = edit_land(&item.land, key, ptr); ret = edit_land(&item.land, key, ptr);
if (ret != RET_OK)
return ret;
if (!putland(item.land.lnd_uid, &item.land))
return RET_FAIL;
break; break;
case 'p': case 'p':
if (!check_plane_ok(&item.plane))
return RET_FAIL;
ret = edit_plane(&item.plane, key, ptr); ret = edit_plane(&item.plane, key, ptr);
if (ret != RET_OK)
return ret;
if (!putplane(item.plane.pln_uid, &item.plane))
return RET_FAIL;
break; break;
default: default:
CANT_REACH(); CANT_REACH();
} }
if (ret != RET_OK)
return ret;
if (!put_empobj(item.gen.ef_type, item.gen.uid, &item.gen))
return RET_FAIL;
} }
} }