diff options
| author | James Cook <james@lindenlab.com> | 2010-01-05 15:46:40 -0800 | 
|---|---|---|
| committer | James Cook <james@lindenlab.com> | 2010-01-05 15:46:40 -0800 | 
| commit | cffe23df08bb0066c936efe667f60e90e0f89fd0 (patch) | |
| tree | 4e983c0787911843c67b76f2898bf2a459287d45 /indra/newview | |
| parent | e1283e0b77f593f0f11daeb1922ea50fbe2e34d2 (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/newview')
| -rw-r--r-- | indra/newview/lldateutil.cpp | 7 | 
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];  	}  }  | 
