summaryrefslogtreecommitdiffstats
path: root/mbbsd/cache.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/cache.c')
-rw-r--r--mbbsd/cache.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mbbsd/cache.c b/mbbsd/cache.c
index 67a405d3..21319c8e 100644
--- a/mbbsd/cache.c
+++ b/mbbsd/cache.c
@@ -460,7 +460,7 @@ setumoney(int uid, int money)
int
deumoney(int uid, int money)
{
- if (money < 0 && SHM->money[uid - 1] < -money)
+ if (money < 0 && moneyof(uid) < -money)
return setumoney(uid, 0);
else
return setumoney(uid, SHM->money[uid - 1] + money);
@@ -475,6 +475,10 @@ demoney(int money)
int
moneyof(int uid)
{ /* ptt 改進金錢處理效率 */
+ if(SHM->money[uid - 1] == -1)
+ {
+ SHM->money[uid - 1] = passwd_query_money(uid);
+ }
return SHM->money[uid - 1];
}