summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorJames Cook <james@lindenlab.com>2010-01-05 15:46:40 -0800
committerJames Cook <james@lindenlab.com>2010-01-05 15:46:40 -0800
commitcffe23df08bb0066c936efe667f60e90e0f89fd0 (patch)
tree4e983c0787911843c67b76f2898bf2a459287d45 /indra
parente1283e0b77f593f0f11daeb1922ea50fbe2e34d2 (diff)
EXT-3921 [BSI] Age calculation fails on Mac and Linux
Was accessing wrong value out of days-per-month array, and stepping off end of array for December. Reviewed with Richard.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/lldateutil.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/indra/newview/lldateutil.cpp b/indra/newview/lldateutil.cpp
index 10b7935caf..abb2fdeb9a 100644
--- a/indra/newview/lldateutil.cpp
+++ b/indra/newview/lldateutil.cpp
@@ -44,15 +44,18 @@ static S32 DAYS_PER_MONTH_LEAP[] =
static S32 days_from_month(S32 year, S32 month)
{
+ llassert_always(1 <= month);
+ llassert_always(month <= 12);
+
if (year % 4 == 0
&& year % 100 != 0)
{
// leap year
- return DAYS_PER_MONTH_LEAP[month];
+ return DAYS_PER_MONTH_LEAP[month - 1];
}
else
{
- return DAYS_PER_MONTH_NOLEAP[month];
+ return DAYS_PER_MONTH_NOLEAP[month - 1];
}
}