edit: Use empobj_storage

In preparation of some refactoring.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
Markus Armbruster 2013-03-03 17:24:34 +01:00
parent f2bf352e66
commit a48b24ff33

View file

@ -63,10 +63,7 @@ static int edit_plane(struct plnstr *, char *, char *);
int int
edit(void) edit(void)
{ {
struct sctstr sect; union empobj_storage item;
struct plnstr plane;
struct shpstr ship;
struct lndstr land;
char *what; char *what;
char *key, *ptr; char *key, *ptr;
int num; int num;
@ -89,7 +86,7 @@ edit(void)
return RET_FAIL; return RET_FAIL;
if (!sarg_xy(ptr, &x, &y)) if (!sarg_xy(ptr, &x, &y))
return RET_FAIL; return RET_FAIL;
if (!getsect(x, y, &sect)) if (!getsect(x, y, &item.sect))
return RET_FAIL; return RET_FAIL;
break; break;
case 'c': case 'c':
@ -100,19 +97,19 @@ edit(void)
case 'p': case 'p':
if ((num = onearg(player->argp[2], "Plane number? ")) < 0) if ((num = onearg(player->argp[2], "Plane number? ")) < 0)
return RET_SYN; return RET_SYN;
if (!getplane(num, &plane)) if (!getplane(num, &item.plane))
return RET_SYN; return RET_SYN;
break; break;
case 's': case 's':
if ((num = onearg(player->argp[2], "Ship number? ")) < 0) if ((num = onearg(player->argp[2], "Ship number? ")) < 0)
return RET_SYN; return RET_SYN;
if (!getship(num, &ship)) if (!getship(num, &item.ship))
return RET_SYN; return RET_SYN;
break; break;
case 'u': case 'u':
if ((num = onearg(player->argp[2], "Unit number? ")) < 0) if ((num = onearg(player->argp[2], "Unit number? ")) < 0)
return RET_SYN; return RET_SYN;
if (!getland(num, &land)) if (!getland(num, &item.land))
return RET_SYN; return RET_SYN;
break; break;
case 'n': case 'n':
@ -125,19 +122,19 @@ edit(void)
if (!player->argp[3]) { if (!player->argp[3]) {
switch (ewhat) { switch (ewhat) {
case 'l': case 'l':
print_sect(&sect); print_sect(&item.sect);
break; break;
case 'c': case 'c':
print_nat(np); print_nat(np);
break; break;
case 'p': case 'p':
print_plane(&plane); print_plane(&item.plane);
break; break;
case 's': case 's':
print_ship(&ship); print_ship(&item.ship);
break; break;
case 'u': case 'u':
print_land(&land); print_land(&item.land);
break; break;
} }
} }
@ -163,35 +160,35 @@ edit(void)
return err; return err;
break; break;
case 'l': case 'l':
if (!check_sect_ok(&sect)) if (!check_sect_ok(&item.sect))
return RET_FAIL; return RET_FAIL;
if ((err = edit_sect(&sect, key, ptr)) != RET_OK) if ((err = edit_sect(&item.sect, key, ptr)) != RET_OK)
return err; return err;
if (!putsect(&sect)) if (!putsect(&item.sect))
return RET_FAIL; return RET_FAIL;
break; break;
case 's': case 's':
if (!check_ship_ok(&ship)) if (!check_ship_ok(&item.ship))
return RET_FAIL; return RET_FAIL;
if ((err = edit_ship(&ship, key, ptr)) != RET_OK) if ((err = edit_ship(&item.ship, key, ptr)) != RET_OK)
return err; return err;
if (!putship(ship.shp_uid, &ship)) if (!putship(item.ship.shp_uid, &item.ship))
return RET_FAIL; return RET_FAIL;
break; break;
case 'u': case 'u':
if (!check_land_ok(&land)) if (!check_land_ok(&item.land))
return RET_FAIL; return RET_FAIL;
if ((err = edit_land(&land, key, ptr)) != RET_OK) if ((err = edit_land(&item.land, key, ptr)) != RET_OK)
return err; return err;
if (!putland(land.lnd_uid, &land)) if (!putland(item.land.lnd_uid, &item.land))
return RET_FAIL; return RET_FAIL;
break; break;
case 'p': case 'p':
if (!check_plane_ok(&plane)) if (!check_plane_ok(&item.plane))
return RET_FAIL; return RET_FAIL;
if ((err = edit_plane(&plane, key, ptr)) != RET_OK) if ((err = edit_plane(&item.plane, key, ptr)) != RET_OK)
return err; return err;
if (!putplane(plane.pln_uid, &plane)) if (!putplane(item.plane.pln_uid, &item.plane))
return RET_FAIL; return RET_FAIL;
break; break;
} }