From 375e5170e47c4e47ffab5918288aafad92844b21 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Mon, 14 Jan 2013 21:03:51 +0100 Subject: [PATCH] Simplify market time left handling in a few places --- src/lib/commands/buy.c | 7 ++----- src/lib/commands/mark.c | 12 ++++++------ src/lib/commands/trad.c | 19 ++++++------------- 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/src/lib/commands/buy.c b/src/lib/commands/buy.c index f3c361510..12e60bc12 100644 --- a/src/lib/commands/buy.c +++ b/src/lib/commands/buy.c @@ -30,6 +30,7 @@ * Dave Pare, 1986 * Pat Loney, 1992 * Steve McClure, 1996-2000 + * Markus Armbruster, 2004-2013 */ #include @@ -190,7 +191,6 @@ check_market(void) int m; int n; time_t now; - double tleft; double gain; double price; @@ -198,10 +198,7 @@ check_market(void) if (comm.com_maxbidder == comm.com_owner || comm.com_owner == 0) continue; (void)time(&now); - tleft = MARK_DELAY / 3600.0 - (now - comm.com_markettime) / 3600.0; - if (tleft < 0) - tleft = 0; - if (tleft > 0.0) + if (comm.com_markettime + MARK_DELAY > now) continue; if (CANT_HAPPEN(comm.com_type <= I_NONE || comm.com_type > I_MAX)) continue; diff --git a/src/lib/commands/mark.c b/src/lib/commands/mark.c index 4b52e722e..fd265ea90 100644 --- a/src/lib/commands/mark.c +++ b/src/lib/commands/mark.c @@ -30,6 +30,7 @@ * Dave Pare, 1986 * Pat Loney, 1992 * Steve McClure, 1996 + * Markus Armbruster, 2004-2013 */ #include @@ -70,15 +71,14 @@ mark(void) static void pr_mark(struct comstr *comm) { - time_t now; - double tleft; + time_t now, tleft; (void)time(&now); - tleft = MARK_DELAY / 3600.0 - (now - comm->com_markettime) / 3600.0; - if (tleft < 0.0) - tleft = 0.0; + tleft = comm->com_markettime + MARK_DELAY - now; + if (tleft < 0) + tleft = 0; pr(" %3d $%12.2f %2d %5.2f hrs (%3d) %c %6d ", - comm->com_uid, comm->com_price, comm->com_maxbidder, tleft, + comm->com_uid, comm->com_price, comm->com_maxbidder, tleft / 3600.0, comm->com_owner, ichr[comm->com_type].i_mnem, comm->com_amount); if (comm->com_owner == player->cnum || player->god) pr("%s", xyas(comm->sell_x, comm->sell_y, player->cnum)); diff --git a/src/lib/commands/trad.c b/src/lib/commands/trad.c index 6a850568a..a40fe7f70 100644 --- a/src/lib/commands/trad.c +++ b/src/lib/commands/trad.c @@ -69,9 +69,8 @@ trad(void) struct trdstr tmpt; union empobj_storage tg; double canspend; - time_t now; + time_t now, tleft; int bid; - double tleft; double tally; int i; char buf[1024]; @@ -99,12 +98,11 @@ trad(void) }; pr(" %3d ", ni.cur); (void)time(&now); - tleft = - TRADE_DELAY / 3600.0 - (now - trade.trd_markettime) / 3600.0; - if (tleft < 0.0) - tleft = 0.0; + tleft = trade.trd_markettime + TRADE_DELAY - now; + if (tleft < 0) + tleft = 0; pr("$%7d %2d %5.2f hrs ", - trade.trd_price, trade.trd_maxbidder, tleft); + trade.trd_price, trade.trd_maxbidder, tleft / 3600.0); trade_desc(&tg.gen); /* XXX */ pr("\n"); if (trade.trd_owner == player->cnum && !player->god) @@ -281,7 +279,6 @@ check_trade(void) struct trdstr trade; union empobj_storage tg; time_t now; - double tleft; int price; int saveid; natid seller; @@ -309,11 +306,7 @@ check_trade(void) continue; (void)time(&now); - tleft = - TRADE_DELAY / 3600.0 - (now - trade.trd_markettime) / 3600.0; - if (tleft < 0.0) - tleft = 0.0; - if (tleft > 0.0) + if (trade.trd_markettime + TRADE_DELAY > now) continue; saveid = trade.trd_unitid; -- 2.43.0