]> git.pond.sub.org Git - empserver/commitdiff
Clean up use of union empobj_storage * as parameter type
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 1 Jul 2012 10:21:58 +0000 (12:21 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Fri, 13 Jul 2012 18:15:33 +0000 (20:15 +0200)
Use it only for functions that assign objects through a pointer
parameter.  Anything else can and should use struct empobj *.

include/trade.h
src/lib/commands/set.c
src/lib/commands/trad.c
src/lib/subs/trdsub.c

index 15b8c32a3ff7a14f37407f3c9095c1f57940ff92..f6a85776768a73ecec715ba9e25d2dce67f21f8a 100644 (file)
@@ -57,9 +57,9 @@ struct trdstr {
     coord trd_y;
 };
 
-extern int trade_check_ok(struct trdstr *, union empobj_storage *);
-extern char *trade_nameof(struct trdstr *, union empobj_storage *);
-extern int trade_desc(struct trdstr *, union empobj_storage *);
+extern int trade_check_ok(struct trdstr *, struct empobj *);
+extern char *trade_nameof(struct trdstr *, struct empobj *);
+extern int trade_desc(struct trdstr *, struct empobj *);
 extern int trade_getitem(struct trdstr *, union empobj_storage *);
 
 #define gettrade(n, p) ef_read(EF_TRADE, (n), (p))
index 6cea604a215ccb90879ea62dc7e2fec961fa0693..b00eabfc063b145fec1c404d28fc808af62f7cea 100644 (file)
@@ -90,7 +90,7 @@ set(void)
        }
        trade.trd_type = type;
        sprintf(prompt, "%s #%d; price? ",
-               trade_nameof(&trade, &item), ni.cur);
+               trade_nameof(&trade, &item.gen), ni.cur);
        if (!(p = getstarg(player->argp[3], prompt, buf)))
            return RET_FAIL;
        if (!check_obj_ok(&item.gen))
@@ -111,7 +111,7 @@ set(void)
        if (price <= 0) {
            if (foundslot >= 0) {
                pr("%s #%d (lot #%d) removed from trading\n",
-                  trade_nameof(&trade, &item), ni.cur, foundslot);
+                  trade_nameof(&trade, &item.gen), ni.cur, foundslot);
                trade.trd_owner = 0;
                puttrade(ni_trade.cur, &trade);
            }
@@ -134,7 +134,7 @@ set(void)
            trade.trd_maxbidder = player->cnum;
            puttrade(id, &trade);
            pr("%s #%d (lot #%d) price %s to $%d\n",
-              trade_nameof(&trade, &item), ni.cur,
+              trade_nameof(&trade, &item.gen), ni.cur,
               id, foundslot >= 0 ? "reset" : "set", price);
        }
     }
index cf1b1e28d67abb078de3c679a747b13f7e0df058..0a9b33baeca5c4c9202ff2b2d8e6236113bad52a 100644 (file)
@@ -103,7 +103,7 @@ trad(void)
            tleft = 0.0;
        pr("$%7ld  %2d %5.2f hrs ",
           trade.trd_price, trade.trd_maxbidder, tleft);
-       (void)trade_desc(&trade, &tg);  /* XXX */
+       trade_desc(&trade, &tg.gen);    /* XXX */
        pr("\n");
        if (trade.trd_owner == player->cnum && !player->god)
            pr(" (your own lot)\n");
@@ -182,7 +182,7 @@ trad(void)
        || (trade.trd_type == EF_NUKE)) {
        while (1) {
            p = getstring("Destination sector: ", buf);
-           if (!trade_check_ok(&trade, &tg))
+           if (!trade_check_ok(&trade, &tg.gen))
                return RET_FAIL;
            if (!p) {
                return RET_FAIL;
@@ -210,7 +210,7 @@ trad(void)
     } else if (trade.trd_type == EF_LAND) {
        while (1) {
            p = getstring("Destination sector: ", buf);
-           if (!trade_check_ok(&trade, &tg))
+           if (!trade_check_ok(&trade, &tg.gen))
                return RET_FAIL;
            if (!p) {
                return RET_FAIL;
@@ -242,7 +242,7 @@ trad(void)
     p = getstring("How much do you bid: ", buf);
     if (!p || !*p)
        return RET_OK;
-    if (!trade_check_ok(&trade, &tg))
+    if (!trade_check_ok(&trade, &tg.gen))
        return RET_FAIL;
     bid = atoi(p);
     if (bid < price)
@@ -330,14 +330,14 @@ check_trade(void)
            nreport(trade.trd_maxbidder, N_WELCH_DEAL, seller, 1);
            wu(0, seller,
               "%s tried to buy a %s #%d from you for $%.2f\n",
-              cname(trade.trd_maxbidder), trade_nameof(&trade, &tg),
+              cname(trade.trd_maxbidder), trade_nameof(&trade, &tg.gen),
               saveid, price * tradetax);
            wu(0, seller, "   but couldn't afford it.\n");
            wu(0, seller,
               "   Your item was taken off the market.\n");
            wu(0, trade.trd_maxbidder,
               "You tried to buy %s #%d from %s for $%.2f\n",
-              trade_nameof(&trade, &tg), saveid, cname(seller),
+              trade_nameof(&trade, &tg.gen), saveid, cname(seller),
               price);
            wu(0, trade.trd_maxbidder, "but couldn't afford it.\n");
            continue;
@@ -398,11 +398,11 @@ check_trade(void)
 
        nreport(seller, N_MAKE_SALE, trade.trd_maxbidder, 1);
        wu(0, seller, "%s bought %s #%d from you for $%.2f\n",
-          cname(trade.trd_maxbidder), trade_nameof(&trade, &tg),
+          cname(trade.trd_maxbidder), trade_nameof(&trade, &tg.gen),
           saveid, price * tradetax);
        wu(0, trade.trd_maxbidder,
           "The bidding is over & you bought %s #%d from %s for $%.2f\n",
-          trade_nameof(&trade, &tg), saveid, cname(seller),
+          trade_nameof(&trade, &tg.gen), saveid, cname(seller),
           price);
     }
     return RET_OK;
index 590c489810df604e91df46dc18e8733df90acfac..645785a5de15e29f017fc067be67dc49307d72ce 100644 (file)
 #include "xy.h"
 
 int
-trade_check_ok(struct trdstr *tp, union empobj_storage *tgp)
+trade_check_ok(struct trdstr *tp, struct empobj *tgp)
 {
-    return check_trade_ok(tp) && check_obj_ok(&tgp->gen);
+    return check_trade_ok(tp) && check_obj_ok(tgp);
 }
 
 char *
-trade_nameof(struct trdstr *tp, union empobj_storage *tgp)
+trade_nameof(struct trdstr *tp, struct empobj *tgp)
 {
     switch (tp->trd_type) {
     case EF_NUKE:
-       return nchr[(int)tgp->nuke.nuk_type].n_name;
+       return nchr[tgp->type].n_name;
     case EF_PLANE:
-       return plchr[(int)tgp->plane.pln_type].pl_name;
+       return plchr[tgp->type].pl_name;
     case EF_SHIP:
-       return mchr[(int)tgp->ship.shp_type].m_name;
+       return mchr[tgp->type].m_name;
     case EF_LAND:
-       return lchr[(int)tgp->land.lnd_type].l_name;
+       return lchr[tgp->type].l_name;
     }
     return "Bad trade type, get help";
 }
@@ -78,7 +78,7 @@ trade_nameof(struct trdstr *tp, union empobj_storage *tgp)
  * Return 1 on success, 0 on error
  */
 int
-trade_desc(struct trdstr *tp, union empobj_storage *tgp)
+trade_desc(struct trdstr *tp, struct empobj *tgp)
 {
     i_type it;
     struct sctstr sect;
@@ -93,14 +93,14 @@ trade_desc(struct trdstr *tp, union empobj_storage *tgp)
 
     switch (tp->trd_type) {
     case EF_NUKE:
-       np = &tgp->nuke;
+       np = (struct nukstr *)tgp;
        tp->trd_owner = np->nuk_own;
        pr("(%3d)  tech %d %d%% %s #%d",
           tp->trd_owner, np->nuk_tech, np->nuk_effic,
           nchr[(int)np->nuk_type].n_name, tp->trd_unitid);
        break;
     case EF_SHIP:
-       sp = &tgp->ship;
+       sp = (struct shpstr *)tgp;
        tp->trd_owner = sp->shp_own;
        pr("(%3d)  tech %d %d%% %s [",
           tp->trd_owner, sp->shp_tech, sp->shp_effic, prship(sp));
@@ -146,7 +146,7 @@ trade_desc(struct trdstr *tp, union empobj_storage *tgp)
            pr(" at sea");
        break;
     case EF_LAND:
-       lp = &tgp->land;
+       lp = (struct lndstr *)tgp;
        tp->trd_owner = lp->lnd_own;
        pr("(%3d)  tech %d %d%% %s [",
           tp->trd_owner,
@@ -158,7 +158,7 @@ trade_desc(struct trdstr *tp, union empobj_storage *tgp)
        pr("] #%d", tp->trd_unitid);
        break;
     case EF_PLANE:
-       pp = &tgp->plane;
+       pp = (struct plnstr *)tgp;
        tp->trd_owner = pp->pln_own;
        pr("(%3d)  tech %d %d%% %s #%d",
           tp->trd_owner,