summaryrefslogtreecommitdiffstats
path: root/mbbsd/cal.c
diff options
context:
space:
mode:
Diffstat (limited to 'mbbsd/cal.c')
-rw-r--r--mbbsd/cal.c37
1 files changed, 21 insertions, 16 deletions
diff --git a/mbbsd/cal.c b/mbbsd/cal.c
index 1f6f9d9d..91ec3cf0 100644
--- a/mbbsd/cal.c
+++ b/mbbsd/cal.c
@@ -493,27 +493,32 @@ give_money_ui(const char *userid)
return do_give_money(id, uid, m);
}
-void
-resolve_over18(void)
+int
+resolve_over18_user(const userec_t *u)
{
/* get local time */
struct tm ptime = *localtime4(&now);
- over18 = 0;
- /* check if over18 */
// 照實歲計算,沒生日的當作未滿 18
- if (cuser.year < 1 || cuser.month < 1)
- over18 = 0;
- else if( (ptime.tm_year - cuser.year) > 18)
- over18 = 1;
- else if (ptime.tm_year - cuser.year < 18)
- over18 = 0;
- else if ((ptime.tm_mon+1) > cuser.month)
- over18 = 1;
- else if ((ptime.tm_mon+1) < cuser.month)
- over18 = 0;
- else if (ptime.tm_mday >= cuser.day )
- over18 = 1;
+ if (u->year < 1 || u->month < 1)
+ return 0;
+ else if( (ptime.tm_year - u->year) > 18)
+ return 1;
+ else if (ptime.tm_year - u->year < 18)
+ return 0;
+ else if ((ptime.tm_mon+1) > u->month)
+ return 1;
+ else if ((ptime.tm_mon+1) < u->month)
+ return 0;
+ else if (ptime.tm_mday >= u->day )
+ return 1;
+ return 0;
+}
+
+void
+resolve_over18(void)
+{
+ over18 = resolve_over18_user(&cuser);
}
int