From d060c9badbe3c5babd13db6f82848fcf5033ce89 Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Mon, 11 Apr 2011 21:15:29 -0700 Subject: Fixed avatar ages showing up as -1 days old for people on different timezones --- linden/indra/newview/llpanelavatar.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'linden/indra') diff --git a/linden/indra/newview/llpanelavatar.cpp b/linden/indra/newview/llpanelavatar.cpp index 6b3be29..d924009 100644 --- a/linden/indra/newview/llpanelavatar.cpp +++ b/linden/indra/newview/llpanelavatar.cpp @@ -1953,9 +1953,9 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**) self->mPanelSecondLife->childSetValue("acct", caption_text); //Chalice - Show avatar age in days. - int year; - int month; - int day; + S32 year; + S32 month; + S32 day; sscanf(born_on.c_str(), "%d/%d/%d", &month, &day, &year); time_t now = time(NULL); struct tm * timeinfo; @@ -1964,8 +1964,11 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**) timeinfo->tm_year = year - 1900; timeinfo->tm_mday = day; time_t birth = mktime(timeinfo); + std::stringstream numberString; - numberString << (S32)(difftime(now, birth) / 86400); //(60*60*24) + S32 days = difftime(now, birth) / 86400; //(60*60*24) + if (days < 0) days = 0; // Happens for people on different timezones -- MC + numberString << days; LLStringUtil::format_map_t targs; targs["[DAYS]"] = numberString.str(); -- cgit v1.1