diff --git a/src/lib/commands/offe.c b/src/lib/commands/offe.c index 2c8c2286..50e28346 100644 --- a/src/lib/commands/offe.c +++ b/src/lib/commands/offe.c @@ -134,8 +134,7 @@ do_treaty(void) break; } } - trty.ef_type = EF_TREATY; - trty.trt_uid = nstr.cur; + ef_blank(EF_TREATY, nstr.cur, &trty); trty.trt_acond = ourcond; trty.trt_bcond = theircond; trty.trt_status = TS_PROPOSED; @@ -220,6 +219,7 @@ do_loan(void) if (loan.l_status == LS_FREE) break; } + ef_blank(EF_LOAN, nstr.cur, &loan); loan.l_loner = player->cnum; loan.l_lonee = recipient; loan.l_status = LS_PROPOSED; diff --git a/src/lib/commands/sell.c b/src/lib/commands/sell.c index 57b3c3bd..9f7726d4 100644 --- a/src/lib/commands/sell.c +++ b/src/lib/commands/sell.c @@ -143,9 +143,8 @@ sell(void) if (comm.com_owner == 0) break; } - if (getcomm(ii, &comm) == 0) - ef_extend(EF_COMM, 1); (void)time(&now); + ef_blank(EF_COMM, ii, &comm); comm.com_type = ip->i_uid; comm.com_owner = player->cnum; comm.com_price = price; diff --git a/src/lib/commands/set.c b/src/lib/commands/set.c index 20f86399..5f20a2c3 100644 --- a/src/lib/commands/set.c +++ b/src/lib/commands/set.c @@ -113,7 +113,7 @@ set(void) if (foundslot >= 0) { pr("%s #%d (lot #%d) removed from trading\n", trade_nameof(&trade, &item), ni.cur, foundslot); - memset(&trade, 0, sizeof(trade)); + trade.trd_owner = 0; puttrade(ni_trade.cur, &trade); } } else { @@ -121,10 +121,9 @@ set(void) id = foundslot; else if (freeslot >= 0) id = freeslot; - else { - ef_extend(EF_TRADE, 1); + else id = ni_trade.cur; - } + ef_blank(EF_TRADE, id, &trade); trade.trd_x = item.gen.x; trade.trd_y = item.gen.y; trade.trd_type = type;