From c6c90642739b5b482c6347ddb816789d23b6a3aa Mon Sep 17 00:00:00 2001
From: James Cook <james@lindenlab.com>
Date: Fri, 30 Oct 2009 16:37:39 -0400
Subject: [PATCH] EXT-1565 Menu bar clock now shows Pacific (PDT/PST) time, as
 does any other UI widget that references "slt" in the XML.

---
 indra/llcommon/llstring.cpp | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/indra/llcommon/llstring.cpp b/indra/llcommon/llstring.cpp
index f2edd5c559a..721e5670e73 100644
--- a/indra/llcommon/llstring.cpp
+++ b/indra/llcommon/llstring.cpp
@@ -963,30 +963,29 @@ bool LLStringUtil::formatDatetime(std::string& replacement, std::string token,
 	// if never fell into those two ifs above, param must be utc
 	if (secFromEpoch < 0) secFromEpoch = 0;
 
-	LLDate * datetime = new LLDate((F64)secFromEpoch);
+	LLDate datetime((F64)secFromEpoch);
 	std::string code = LLStringOps::getDatetimeCode (token);
 
 	// special case to handle timezone
 	if (code == "%Z") {
 		if (param == "utc")
+		{
 			replacement = "GMT";
-		else if (param == "slt")
-			replacement = "SLT";
-		else if (param != "local") // *TODO Vadim: not local? then what?
+		}
+		else if (param == "local")
+		{
+			replacement = "";		// user knows their own timezone
+		}
+		else
+		{
+			// "slt" = Second Life Time, which is deprecated.
+			// If not utc or user local time, fallback to Pacific time
 			replacement = LLStringOps::getDaylightSavings() ? "PDT" : "PST";
-
-		return true;
-	}
-	replacement = datetime->toHTTPDateString(code);
-
-	if (code.empty())
-	{
-		return false;
-	}
-	else
-	{
+		}
 		return true;
 	}
+	replacement = datetime.toHTTPDateString(code);
+	return !code.empty();
 }
 
 // LLStringUtil::format recogizes the following patterns.
-- 
GitLab